Coverage Report

Created: 2025-02-01 01:27

/src/scnlib/include/scn/scan.h
Line
Count
Source (jump to first uncovered line)
1
// Copyright 2017 Elias Kosunen
2
//
3
// Licensed under the Apache License, Version 2.0 (the "License");
4
// you may not use this file except in compliance with the License.
5
// You may obtain a copy of the License at
6
//
7
//     https://www.apache.org/licenses/LICENSE-2.0
8
//
9
// Unless required by applicable law or agreed to in writing, software
10
// distributed under the License is distributed on an "AS IS" BASIS,
11
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
// See the License for the specific language governing permissions and
13
// limitations under the License.
14
//
15
// This file is a part of scnlib:
16
//     https://github.com/eliaskosunen/scnlib
17
18
#pragma once
19
20
// Includes <cassert>, <cstddef>, <cstdint>, and <type_traits>
21
#include <scn/fwd.h>
22
23
#include <array>
24
#include <cstdio>
25
#include <cstring>
26
#include <iterator>
27
#include <limits>
28
#include <optional>
29
#include <string>
30
#include <string_view>
31
#include <system_error>
32
#include <tuple>
33
34
namespace scn {
35
SCN_BEGIN_NAMESPACE
36
37
/////////////////////////////////////////////////////////////////
38
// Metaprogramming facilities
39
/////////////////////////////////////////////////////////////////
40
41
namespace detail {
42
43
template <typename T>
44
using integer_type_for_char =
45
    std::conditional_t<std::is_signed_v<T>, int, unsigned>;
46
47
template <typename T, template <typename...> class Templ>
48
struct is_specialization_of_impl : std::false_type {};
49
template <typename... T, template <typename...> class Templ>
50
struct is_specialization_of_impl<Templ<T...>, Templ> : std::true_type {};
51
52
template <typename T, template <typename...> class Templ>
53
using is_specialization_of =
54
    is_specialization_of_impl<remove_cvref_t<T>, Templ>;
55
template <typename T, template <typename...> class Templ>
56
inline constexpr bool is_specialization_of_v =
57
    is_specialization_of<T, Templ>::value;
58
59
// from mp11:
60
61
template <typename T>
62
struct mp_identity {
63
    using type = T;
64
};
65
template <typename T>
66
using mp_identity_t = typename mp_identity<T>::type;
67
68
template <bool B>
69
using mp_bool = std::integral_constant<bool, B>;
70
template <typename T>
71
using mp_to_bool = mp_bool<static_cast<bool>(T::value)>;
72
template <typename T>
73
using mp_not = mp_bool<!T::value>;
74
75
template <bool C, typename T, typename... E>
76
struct mp_if_c_impl;
77
template <typename T, typename... E>
78
struct mp_if_c_impl<true, T, E...> {
79
    using type = T;
80
};
81
template <typename T, typename E>
82
struct mp_if_c_impl<false, T, E> {
83
    using type = E;
84
};
85
86
template <bool C, typename T, typename... E>
87
using mp_if_c = typename mp_if_c_impl<C, T, E...>::type;
88
template <typename C, typename T, typename... E>
89
using mp_if = typename mp_if_c_impl<static_cast<bool>(C::value), T, E...>::type;
90
91
template <template <typename...> class F, typename... T>
92
struct mp_valid_impl {
93
    template <template <typename...> class G, typename = G<T...>>
94
    static std::true_type check(int);
95
    template <template <typename...> class>
96
    static std::false_type check(...);
97
98
    using type = decltype(check<F>(0));
99
};
100
101
template <template <typename...> class F, typename... T>
102
using mp_valid = typename mp_valid_impl<F, T...>::type;
103
template <template <typename...> class F, typename... T>
104
inline constexpr bool mp_valid_v = mp_valid<F, T...>::value;
105
106
struct mp_nonesuch {};
107
template <template <typename...> class F, typename... T>
108
struct mp_defer_impl {
109
    using type = F<T...>;
110
};
111
112
template <template <typename...> class F, typename... T>
113
using mp_defer = mp_if<mp_valid<F, T...>, mp_defer_impl<F, T...>, mp_nonesuch>;
114
115
template <bool C, class T, template <class...> class F, class... U>
116
struct mp_eval_if_c_impl;
117
118
template <class T, template <class...> class F, class... U>
119
struct mp_eval_if_c_impl<true, T, F, U...> {
120
    using type = T;
121
};
122
123
template <class T, template <class...> class F, class... U>
124
struct mp_eval_if_c_impl<false, T, F, U...> : mp_defer<F, U...> {};
125
126
template <bool C, class T, template <class...> class F, class... U>
127
using mp_eval_if_c = typename mp_eval_if_c_impl<C, T, F, U...>::type;
128
template <class C, class T, template <class...> class F, class... U>
129
using mp_eval_if =
130
    typename mp_eval_if_c_impl<static_cast<bool>(C::value), T, F, U...>::type;
131
template <class C, class T, class Q, class... U>
132
using mp_eval_if_q = typename mp_eval_if_c_impl<static_cast<bool>(C::value),
133
                                                T,
134
                                                Q::template fn,
135
                                                U...>::type;
136
137
// mp_eval_if_not
138
template <class C, class T, template <class...> class F, class... U>
139
using mp_eval_if_not = mp_eval_if<mp_not<C>, T, F, U...>;
140
template <class C, class T, class Q, class... U>
141
using mp_eval_if_not_q = mp_eval_if<mp_not<C>, T, Q::template fn, U...>;
142
143
// mp_eval_or
144
template <class T, template <class...> class F, class... U>
145
using mp_eval_or = mp_eval_if_not<mp_valid<F, U...>, T, F, U...>;
146
template <class T, class Q, class... U>
147
using mp_eval_or_q = mp_eval_or<T, Q::template fn, U...>;
148
149
// mp_valid_and_true
150
template <template <class...> class F, class... T>
151
using mp_valid_and_true = mp_eval_or<std::false_type, F, T...>;
152
template <class Q, class... T>
153
using mp_valid_and_true_q = mp_valid_and_true<Q::template fn, T...>;
154
155
// extension
156
template <template <typename...> class F, typename... T>
157
using mp_valid_result =
158
    mp_if<mp_valid<F, T...>, mp_defer_impl<F, T...>, mp_identity<void>>;
159
template <template <typename...> class F, typename... T>
160
using mp_valid_result_t = typename mp_valid_result<F, T...>::type;
161
162
/////////////////////////////////////////////////////////////////
163
// pointer_traits and to_address
164
/////////////////////////////////////////////////////////////////
165
166
template <typename Ptr, typename>
167
struct pointer_traits {};
168
169
template <typename T>
170
struct pointer_traits<T*, void> {
171
    using pointer = T*;
172
    using element_type = T;
173
    using difference_type = std::ptrdiff_t;
174
175
    template <typename U>
176
    using rebind = U*;
177
178
    template <typename U = T, std::enable_if_t<!std::is_void_v<U>>* = nullptr>
179
    static constexpr pointer pointer_to(U& r) noexcept
180
    {
181
        return &r;
182
    }
183
184
    SCN_FORCE_INLINE static constexpr pointer to_address(pointer p) noexcept
185
    {
186
        return p;
187
    }
188
};
189
190
template <typename Ptr>
191
using apply_member_difference_type = typename Ptr::difference_type;
192
template <typename Ptr>
193
using get_member_difference_type =
194
    mp_eval_or<std::ptrdiff_t, apply_member_difference_type, Ptr>;
195
196
template <typename Ptr, typename ElementType>
197
struct pointer_traits_generic_base {
198
    using pointer = Ptr;
199
    using element_type = ElementType;
200
201
    using difference_type = get_member_difference_type<Ptr>;
202
    static_assert(std::is_integral_v<difference_type>);
203
204
    // no rebind (TODO?)
205
206
    template <typename P = Ptr>
207
    static auto pointer_to(ElementType& r) -> decltype(P::pointer_to(r))
208
    {
209
        return Ptr::pointer_to(r);
210
    }
211
};
212
213
template <typename It, typename = void>
214
struct wrapped_pointer_iterator;
215
216
#ifdef _GLIBCXX_DEBUG
217
template <typename Elem, typename Container>
218
struct wrapped_pointer_iterator<__gnu_debug::_Safe_iterator<Elem*, Container>> {
219
    SCN_FORCE_INLINE static constexpr auto to_address(
220
        const __gnu_debug::_Safe_iterator<Elem*, Container>& it) noexcept
221
    {
222
        return it.base();
223
    }
224
};
225
#endif
226
#if SCN_STDLIB_GLIBCXX
227
template <typename Elem, typename Container>
228
struct wrapped_pointer_iterator<
229
    __gnu_cxx::__normal_iterator<Elem*, Container>> {
230
    SCN_FORCE_INLINE static constexpr auto to_address(
231
        const __gnu_cxx::__normal_iterator<Elem*, Container>& it) noexcept
232
    {
233
        return it.base();
234
    }
235
};
236
#endif
237
#if SCN_STDLIB_LIBCPP
238
template <typename Elem>
239
struct wrapped_pointer_iterator<std::__wrap_iter<Elem*>> {
240
    SCN_FORCE_INLINE static constexpr auto to_address(
241
        const std::__wrap_iter<Elem*>& it) noexcept
242
0
    {
243
0
        return it.base();
244
0
    }
245
};
246
#endif
247
248
template <typename I>
249
using apply_deref = decltype(*SCN_DECLVAL(I&));
250
template <typename I>
251
using apply_incr = decltype(++SCN_DECLVAL(I&));
252
template <typename I>
253
using apply_member_unwrapped = decltype(SCN_DECLVAL(I&)._Unwrapped());
254
template <typename It>
255
struct wrapped_pointer_iterator<
256
    It,
257
    std::enable_if_t<mp_valid_v<apply_deref, It> &&
258
                     mp_valid_v<apply_incr, It> &&
259
                     mp_valid_v<apply_member_unwrapped, It>>> {
260
    SCN_FORCE_INLINE static constexpr auto to_address(const It& it) noexcept
261
    {
262
        return it._Unwrapped();
263
    }
264
};
265
266
template <typename I>
267
using apply_member_to_address =
268
    decltype(wrapped_pointer_iterator<I>::to_address(SCN_DECLVAL(const I&)));
269
270
template <typename Iterator>
271
struct pointer_traits<
272
    Iterator,
273
    std::enable_if_t<mp_valid_v<apply_member_to_address, Iterator>>>
274
    : pointer_traits_generic_base<
275
          Iterator,
276
          std::remove_reference_t<decltype(*SCN_DECLVAL(Iterator&))>> {
277
    SCN_FORCE_INLINE static constexpr auto to_address(
278
        const Iterator& it) noexcept
279
0
    {
280
0
        return wrapped_pointer_iterator<Iterator>::to_address(it);
281
0
    }
282
};
283
284
template <typename It>
285
using apply_ptr_traits_to_address =
286
    decltype(pointer_traits<It>::to_address(SCN_DECLVAL(const It&)));
287
template <typename It>
288
inline constexpr bool can_make_address_from_iterator =
289
    std::is_pointer_v<mp_valid_result_t<apply_ptr_traits_to_address, It>>;
290
291
template <typename T>
292
SCN_FORCE_INLINE constexpr T* to_address_impl(T* p, priority_tag<2>) noexcept
293
3.51M
{
294
3.51M
    return p;
295
3.51M
}
char const* scn::v4::detail::to_address_impl<char const>(char const*, scn::v4::detail::priority_tag<2ul>)
Line
Count
Source
293
2.97M
{
294
2.97M
    return p;
295
2.97M
}
wchar_t const* scn::v4::detail::to_address_impl<wchar_t const>(wchar_t const*, scn::v4::detail::priority_tag<2ul>)
Line
Count
Source
293
543k
{
294
543k
    return p;
295
543k
}
296
template <typename Ptr>
297
SCN_FORCE_INLINE constexpr auto to_address_impl(const Ptr& p,
298
                                                priority_tag<1>) noexcept
299
    -> decltype(::scn::detail::pointer_traits<Ptr>::to_address(p))
300
{
301
    return ::scn::detail::pointer_traits<Ptr>::to_address(p);
302
}
303
template <typename Ptr>
304
SCN_FORCE_INLINE constexpr auto to_address_impl(const Ptr& p,
305
                                                priority_tag<0>) noexcept
306
    -> decltype(::scn::detail::to_address_impl(p.operator->(),
307
                                               priority_tag<2>{}))
308
{
309
    return ::scn::detail::to_address_impl(p.operator->(), priority_tag<2>{});
310
}
311
312
template <typename Ptr>
313
SCN_FORCE_INLINE constexpr auto to_address(Ptr&& p) noexcept
314
    -> decltype(::scn::detail::to_address_impl(SCN_FWD(p), priority_tag<2>{}))
315
3.51M
{
316
3.51M
    return ::scn::detail::to_address_impl(SCN_FWD(p), priority_tag<2>{});
317
3.51M
}
_ZN3scn2v46detail10to_addressIRPKcEEDTclgssr3scn6detailE15to_address_implscDtfp_Efp_tlNS1_12priority_tagILm2EEEEEEOT_
Line
Count
Source
315
2.82M
{
316
2.82M
    return ::scn::detail::to_address_impl(SCN_FWD(p), priority_tag<2>{});
317
2.82M
}
_ZN3scn2v46detail10to_addressIPKcEEDTclgssr3scn6detailE15to_address_implscDtfp_Efp_tlNS1_12priority_tagILm2EEEEEEOT_
Line
Count
Source
315
144k
{
316
144k
    return ::scn::detail::to_address_impl(SCN_FWD(p), priority_tag<2>{});
317
144k
}
_ZN3scn2v46detail10to_addressIRPKwEEDTclgssr3scn6detailE15to_address_implscDtfp_Efp_tlNS1_12priority_tagILm2EEEEEEOT_
Line
Count
Source
315
329k
{
316
329k
    return ::scn::detail::to_address_impl(SCN_FWD(p), priority_tag<2>{});
317
329k
}
_ZN3scn2v46detail10to_addressIPKwEEDTclgssr3scn6detailE15to_address_implscDtfp_Efp_tlNS1_12priority_tagILm2EEEEEEOT_
Line
Count
Source
315
214k
{
316
214k
    return ::scn::detail::to_address_impl(SCN_FWD(p), priority_tag<2>{});
317
214k
}
318
319
}  // namespace detail
320
321
/////////////////////////////////////////////////////////////////
322
// <expected> implementation
323
/////////////////////////////////////////////////////////////////
324
325
// The following implementation of expected is based on TartanLlama/expected,
326
// but is heavily modified.
327
//
328
// The original source is here:
329
//     https://github.com/TartanLlama/expected
330
// which is licensed under CC0 (Public Domain).
331
332
/**
333
 * \see `std::unexpected`
334
 */
335
template <typename E>
336
class SCN_TRIVIAL_ABI unexpected {
337
    static_assert(std::is_destructible_v<E>);
338
339
public:
340
    unexpected() = delete;
341
342
    template <
343
        typename Err = E,
344
        typename = std::enable_if_t<!std::is_same_v<Err, unexpected> &&
345
                                    !std::is_same_v<Err, std::in_place_t> &&
346
                                    std::is_constructible_v<E, Err>>>
347
    explicit constexpr unexpected(Err&& e) noexcept(
348
        std::is_nothrow_constructible_v<E, Err>)
349
870k
        : m_unexpected(std::forward<Err>(e))
350
903k
    {
351
903k
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
352
903k
    }
scn::v4::unexpected<scn::v4::scan_error>::unexpected<scn::v4::scan_error&, void>(scn::v4::scan_error&)
Line
Count
Source
349
673k
        : m_unexpected(std::forward<Err>(e))
350
673k
    {
351
673k
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
352
673k
    }
scn::v4::unexpected<scn::v4::scan_error>::unexpected<scn::v4::scan_error, void>(scn::v4::scan_error&&)
Line
Count
Source
349
194k
        : m_unexpected(std::forward<Err>(e))
350
194k
    {
351
194k
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
352
194k
    }
scn::v4::unexpected<scn::v4::impl::parse_error>::unexpected<scn::v4::impl::parse_error, void>(scn::v4::impl::parse_error&&)
Line
Count
Source
349
26
        : m_unexpected(std::forward<Err>(e))
350
26
    {
351
26
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
352
26
    }
scn::v4::unexpected<scn::v4::impl::parse_error>::unexpected<scn::v4::impl::parse_error&, void>(scn::v4::impl::parse_error&)
Line
Count
Source
349
3.39k
        : m_unexpected(std::forward<Err>(e))
350
3.39k
    {
351
3.39k
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
352
3.39k
    }
scn::v4::unexpected<scn::v4::impl::eof_error>::unexpected<scn::v4::impl::eof_error, void>(scn::v4::impl::eof_error&&)
Line
Count
Source
349
1.61k
        : m_unexpected(std::forward<Err>(e))
350
1.61k
    {
351
1.61k
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
352
1.61k
    }
scn::v4::unexpected<scn::v4::impl::eof_error>::unexpected<scn::v4::impl::eof_error&, void>(scn::v4::impl::eof_error&)
Line
Count
Source
349
330
        : m_unexpected(std::forward<Err>(e))
350
330
    {
351
330
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
352
330
    }
scn::v4::unexpected<scn::v4::impl::parse_error::code>::unexpected<scn::v4::impl::parse_error::code, void>(scn::v4::impl::parse_error::code&&)
Line
Count
Source
349
30.4k
        : m_unexpected(std::forward<Err>(e))
350
30.4k
    {
351
30.4k
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
352
30.4k
    }
353
354
    template <typename... Args,
355
              typename = std::enable_if_t<std::is_constructible_v<E, Args...>>>
356
    explicit constexpr unexpected(std::in_place_t, Args&&... args) noexcept(
357
        std::is_nothrow_constructible_v<E, Args...>)
358
907k
        : m_unexpected(std::forward<Args>(args)...)
359
908k
    {
360
908k
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
361
908k
    }
scn::v4::unexpected<scn::v4::scan_error>::unexpected<scn::v4::scan_error, void>(std::__1::in_place_t, scn::v4::scan_error&&)
Line
Count
Source
358
872k
        : m_unexpected(std::forward<Args>(args)...)
359
872k
    {
360
872k
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
361
872k
    }
scn::v4::unexpected<scn::v4::impl::parse_error>::unexpected<scn::v4::impl::parse_error, void>(std::__1::in_place_t, scn::v4::impl::parse_error&&)
Line
Count
Source
358
4.40k
        : m_unexpected(std::forward<Args>(args)...)
359
4.40k
    {
360
4.40k
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
361
4.40k
    }
scn::v4::unexpected<scn::v4::impl::parse_error>::unexpected<scn::v4::impl::parse_error::code, void>(std::__1::in_place_t, scn::v4::impl::parse_error::code&&)
Line
Count
Source
358
30.4k
        : m_unexpected(std::forward<Args>(args)...)
359
30.4k
    {
360
30.4k
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
361
30.4k
    }
362
363
    SCN_NODISCARD constexpr E& error() & noexcept
364
1.45M
    {
365
1.45M
        return m_unexpected;
366
1.45M
    }
scn::v4::unexpected<scn::v4::scan_error>::error() &
Line
Count
Source
364
1.40M
    {
365
1.40M
        return m_unexpected;
366
1.40M
    }
scn::v4::unexpected<scn::v4::impl::eof_error>::error() &
Line
Count
Source
364
3.25k
    {
365
3.25k
        return m_unexpected;
366
3.25k
    }
scn::v4::unexpected<scn::v4::impl::parse_error>::error() &
Line
Count
Source
364
20.7k
    {
365
20.7k
        return m_unexpected;
366
20.7k
    }
scn::v4::unexpected<scn::v4::impl::parse_error::code>::error() &
Line
Count
Source
364
30.4k
    {
365
30.4k
        return m_unexpected;
366
30.4k
    }
367
    SCN_NODISCARD constexpr const E& error() const& noexcept
368
0
    {
369
0
        return m_unexpected;
370
0
    }
Unexecuted instantiation: scn::v4::unexpected<scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::unexpected<scn::v4::impl::parse_error>::error() const &
371
372
    SCN_NODISCARD constexpr E&& error() && noexcept
373
    {
374
        return std::move(m_unexpected);
375
    }
376
    SCN_NODISCARD constexpr const E&& error() const&& noexcept
377
    {
378
        return std::move(m_unexpected);
379
    }
380
381
private:
382
    E m_unexpected;
383
};
384
385
template <typename E>
386
unexpected(E) -> unexpected<E>;
387
388
struct unexpect_t {};
389
inline constexpr unexpect_t unexpect{};
390
391
namespace detail {
392
template <typename T, typename... Args>
393
T* construct_at(T* p, Args&&... args) noexcept(
394
    std::is_nothrow_constructible_v<T, Args...>)
395
213k
{
396
213k
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
397
213k
        T(std::forward<Args>(args)...);
398
213k
}
scn::v4::unexpected<scn::v4::scan_error>* scn::v4::detail::construct_at<scn::v4::unexpected<scn::v4::scan_error>, scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>*, scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
395
147k
{
396
147k
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
397
147k
        T(std::forward<Args>(args)...);
398
147k
}
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>&&)
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >>(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Line
Count
Source
395
5.62k
{
396
5.62k
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
397
5.62k
        T(std::forward<Args>(args)...);
398
5.62k
}
scn::v4::unexpected<scn::v4::scan_error>* scn::v4::detail::construct_at<scn::v4::unexpected<scn::v4::scan_error>, std::__1::in_place_t const&, scn::v4::scan_error>(scn::v4::unexpected<scn::v4::scan_error>*, std::__1::in_place_t const&, scn::v4::scan_error&&)
Line
Count
Source
395
31.7k
{
396
31.7k
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
397
31.7k
        T(std::forward<Args>(args)...);
398
31.7k
}
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >>(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >*)
Line
Count
Source
395
5.62k
{
396
5.62k
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
397
5.62k
        T(std::forward<Args>(args)...);
398
5.62k
}
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>&&)
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >>(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Line
Count
Source
395
11.2k
{
396
11.2k
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
397
11.2k
        T(std::forward<Args>(args)...);
398
11.2k
}
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >>(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >*)
Line
Count
Source
395
11.2k
{
396
11.2k
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
397
11.2k
        T(std::forward<Args>(args)...);
398
11.2k
}
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >&&)
Unexecuted instantiation: std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
395
8
{
396
8
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
397
8
        T(std::forward<Args>(args)...);
398
8
}
std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
395
4
{
396
4
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
397
4
        T(std::forward<Args>(args)...);
398
4
}
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >>(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >>(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
399
template <typename T>
400
void destroy_at(T* p) noexcept
401
97.0k
{
402
    if constexpr (std::is_array_v<T>) {
403
        for (auto& elem : *p) {
404
            scn::detail::destroy_at(&elem);
405
        }
406
    }
407
97.0k
    else {
408
97.0k
        p->~T();
409
97.0k
    }
410
97.0k
}
void scn::v4::detail::destroy_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Line
Count
Source
401
5.62k
{
402
    if constexpr (std::is_array_v<T>) {
403
        for (auto& elem : *p) {
404
            scn::detail::destroy_at(&elem);
405
        }
406
    }
407
5.62k
    else {
408
5.62k
        p->~T();
409
5.62k
    }
410
5.62k
}
void scn::v4::detail::destroy_at<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>*)
Line
Count
Source
401
63.3k
{
402
    if constexpr (std::is_array_v<T>) {
403
        for (auto& elem : *p) {
404
            scn::detail::destroy_at(&elem);
405
        }
406
    }
407
63.3k
    else {
408
63.3k
        p->~T();
409
63.3k
    }
410
63.3k
}
void scn::v4::detail::destroy_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >*)
Line
Count
Source
401
5.62k
{
402
    if constexpr (std::is_array_v<T>) {
403
        for (auto& elem : *p) {
404
            scn::detail::destroy_at(&elem);
405
        }
406
    }
407
5.62k
    else {
408
5.62k
        p->~T();
409
5.62k
    }
410
5.62k
}
void scn::v4::detail::destroy_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Line
Count
Source
401
11.2k
{
402
    if constexpr (std::is_array_v<T>) {
403
        for (auto& elem : *p) {
404
            scn::detail::destroy_at(&elem);
405
        }
406
    }
407
11.2k
    else {
408
11.2k
        p->~T();
409
11.2k
    }
410
11.2k
}
void scn::v4::detail::destroy_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >*)
Line
Count
Source
401
11.2k
{
402
    if constexpr (std::is_array_v<T>) {
403
        for (auto& elem : *p) {
404
            scn::detail::destroy_at(&elem);
405
        }
406
    }
407
11.2k
    else {
408
11.2k
        p->~T();
409
11.2k
    }
410
11.2k
}
Unexecuted instantiation: void scn::v4::detail::destroy_at<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Unexecuted instantiation: void scn::v4::detail::destroy_at<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Unexecuted instantiation: void scn::v4::detail::destroy_at<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Unexecuted instantiation: void scn::v4::detail::destroy_at<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Unexecuted instantiation: void scn::v4::detail::destroy_at<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Unexecuted instantiation: void scn::v4::detail::destroy_at<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
void scn::v4::detail::destroy_at<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Line
Count
Source
401
8
{
402
    if constexpr (std::is_array_v<T>) {
403
        for (auto& elem : *p) {
404
            scn::detail::destroy_at(&elem);
405
        }
406
    }
407
8
    else {
408
8
        p->~T();
409
8
    }
410
8
}
void scn::v4::detail::destroy_at<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Line
Count
Source
401
4
{
402
    if constexpr (std::is_array_v<T>) {
403
        for (auto& elem : *p) {
404
            scn::detail::destroy_at(&elem);
405
        }
406
    }
407
4
    else {
408
4
        p->~T();
409
4
    }
410
4
}
Unexecuted instantiation: void scn::v4::detail::destroy_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Unexecuted instantiation: void scn::v4::detail::destroy_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
411
412
struct deferred_init_tag_t {};
413
static constexpr deferred_init_tag_t deferred_init_tag{};
414
415
template <typename T,
416
          typename E,
417
          bool IsTriviallyDestructible =
418
              (std::is_void_v<T> || std::is_trivially_destructible_v<T>)&&std::
419
                  is_trivially_destructible_v<E>>
420
struct expected_storage_base;
421
422
template <typename T, typename E>
423
struct SCN_TRIVIAL_ABI expected_storage_base<T, E, true> {
424
    constexpr expected_storage_base() noexcept(
425
        std::is_nothrow_default_constructible_v<T>)
426
118k
        : m_value(T{}), m_has_value(true)
427
118k
    {
428
118k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
426
5.62k
        : m_value(T{}), m_has_value(true)
427
5.62k
    {
428
5.62k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
426
5.62k
        : m_value(T{}), m_has_value(true)
427
5.62k
    {
428
5.62k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
426
5.62k
        : m_value(T{}), m_has_value(true)
427
5.62k
    {
428
5.62k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
426
5.62k
        : m_value(T{}), m_has_value(true)
427
5.62k
    {
428
5.62k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
426
5.62k
        : m_value(T{}), m_has_value(true)
427
5.62k
    {
428
5.62k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
426
5.62k
        : m_value(T{}), m_has_value(true)
427
5.62k
    {
428
5.62k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
426
5.62k
        : m_value(T{}), m_has_value(true)
427
5.62k
    {
428
5.62k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
426
11.2k
        : m_value(T{}), m_has_value(true)
427
11.2k
    {
428
11.2k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
426
11.2k
        : m_value(T{}), m_has_value(true)
427
11.2k
    {
428
11.2k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
426
11.2k
        : m_value(T{}), m_has_value(true)
427
11.2k
    {
428
11.2k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
426
11.2k
        : m_value(T{}), m_has_value(true)
427
11.2k
    {
428
11.2k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
426
11.2k
        : m_value(T{}), m_has_value(true)
427
11.2k
    {
428
11.2k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
426
11.2k
        : m_value(T{}), m_has_value(true)
427
11.2k
    {
428
11.2k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
426
11.2k
        : m_value(T{}), m_has_value(true)
427
11.2k
    {
428
11.2k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, true>::expected_storage_base()
429
430
    constexpr explicit expected_storage_base(deferred_init_tag_t) noexcept
431
        : m_deferred_init(), m_has_value(false)
432
    {
433
    }
434
435
    template <typename... Args,
436
              typename = std::enable_if_t<std::is_constructible_v<T, Args...>>>
437
    constexpr explicit expected_storage_base(
438
        std::in_place_t,
439
        Args&&... args) noexcept(std::is_nothrow_constructible_v<T, Args...>)
440
199k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
199k
    {
442
199k
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void>(std::__1::in_place_t, scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&&)
Line
Count
Source
440
2.11k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
2.11k
    {
442
2.11k
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void>(std::__1::in_place_t, scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&&)
Line
Count
Source
440
1.82k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
1.82k
    {
442
1.82k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error, true>::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, void>(std::__1::in_place_t, scn::v4::detail::basic_scan_buffer<char>::forward_iterator&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error, true>::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, void>(std::__1::in_place_t, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error, true>::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator&, void>(std::__1::in_place_t, scn::v4::detail::basic_scan_buffer<char>::forward_iterator&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error, true>::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&, void>(std::__1::in_place_t, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, void>(std::__1::in_place_t, scn::v4::detail::basic_scan_buffer<char>::forward_iterator&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, long>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, long>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator&, void>(std::__1::in_place_t, scn::v4::detail::basic_scan_buffer<char>::forward_iterator&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, void>(std::__1::in_place_t, scn::v4::detail::basic_scan_buffer<char>::forward_iterator&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>&&)
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&&)
Line
Count
Source
440
9.33k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
9.33k
    {
442
9.33k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >&&)
scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>&&)
Line
Count
Source
440
4.99k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
4.99k
    {
442
4.99k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&&)
Line
Count
Source
440
2.59k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
2.59k
    {
442
2.59k
    }
scn::v4::detail::expected_storage_base<std::__1::pair<char const*, long>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<char const*, long>, void>(std::__1::in_place_t, std::__1::pair<char const*, long>&&)
Line
Count
Source
440
9.31k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
9.31k
    {
442
9.31k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&)
scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>&&)
Line
Count
Source
440
1.42k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
1.42k
    {
442
1.42k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&&)
Line
Count
Source
440
1.94k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
1.94k
    {
442
1.94k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&&)
Line
Count
Source
440
1.06k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
1.06k
    {
442
1.06k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&&)
Line
Count
Source
440
1.06k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
1.06k
    {
442
1.06k
    }
scn::v4::detail::expected_storage_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<char const*, scn::v4::impl::sign_type>&&)
Line
Count
Source
440
3.65k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
3.65k
    {
442
3.65k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<char const*>, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<char const*>&&)
Line
Count
Source
440
2.73k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
2.73k
    {
442
2.73k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<char const*>, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<char const*>&&)
Line
Count
Source
440
2.73k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
2.73k
    {
442
2.73k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>&&)
scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>&&)
Line
Count
Source
440
366
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
366
    {
442
366
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&)
scn::v4::detail::expected_storage_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<char const*, scn::v4::impl::sign_type>&&)
Line
Count
Source
440
916
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
916
    {
442
916
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error, true>::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator const&, void>(std::__1::in_place_t, scn::v4::detail::basic_scan_buffer<char>::forward_iterator const&)
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&)
Line
Count
Source
440
804
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
804
    {
442
804
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, void>(std::__1::in_place_t, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&, void>(std::__1::in_place_t, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, void>(std::__1::in_place_t, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>&&)
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&&)
Line
Count
Source
440
2.59k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
2.59k
    {
442
2.59k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >&&)
scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>&&)
Line
Count
Source
440
2.13k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
2.13k
    {
442
2.13k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&&)
Line
Count
Source
440
1.60k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
1.60k
    {
442
1.60k
    }
scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, long>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<wchar_t const*, long>, void>(std::__1::in_place_t, std::__1::pair<wchar_t const*, long>&&)
Line
Count
Source
440
6.39k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
6.39k
    {
442
6.39k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&)
Line
Count
Source
440
60
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
60
    {
442
60
    }
scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>&&)
Line
Count
Source
440
754
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
754
    {
442
754
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&&)
Line
Count
Source
440
938
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
938
    {
442
938
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&&)
Line
Count
Source
440
572
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
572
    {
442
572
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&&)
Line
Count
Source
440
572
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
572
    {
442
572
    }
scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>&&)
Line
Count
Source
440
3.65k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
3.65k
    {
442
3.65k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<wchar_t const*>&&)
Line
Count
Source
440
2.70k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
2.70k
    {
442
2.70k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<wchar_t const*>&&)
Line
Count
Source
440
2.70k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
2.70k
    {
442
2.70k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>&&)
scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>&&)
Line
Count
Source
440
182
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
182
    {
442
182
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&)
Line
Count
Source
440
48
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
48
    {
442
48
    }
scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>&&)
Line
Count
Source
440
948
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
948
    {
442
948
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error, true>::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator const&, void>(std::__1::in_place_t, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator const&)
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&)
Line
Count
Source
440
402
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
402
    {
442
402
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >&&)
Line
Count
Source
440
2.78k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
2.78k
    {
442
2.78k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >&&)
Line
Count
Source
440
2.09k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
2.09k
    {
442
2.09k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >&&)
Line
Count
Source
440
1.04k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
1.04k
    {
442
1.04k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >&&)
Line
Count
Source
440
1.04k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
1.04k
    {
442
1.04k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(std::__1::in_place_t, scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, void>(std::__1::in_place_t, scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(std::__1::in_place_t, scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
scn::v4::detail::expected_storage_base<char const*, scn::v4::scan_error, true>::expected_storage_base<char const*, void>(std::__1::in_place_t, char const*&&)
Line
Count
Source
440
21.5k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
21.5k
    {
442
21.5k
    }
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::scan_error, true>::expected_storage_base<wchar_t const*, void>(std::__1::in_place_t, wchar_t const*&&)
Line
Count
Source
440
18.9k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
18.9k
    {
442
18.9k
    }
scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::eof_error, true>::expected_storage_base<char const*, void>(std::__1::in_place_t, char const*&&)
Line
Count
Source
440
46.0k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
46.0k
    {
442
46.0k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::parse_error, true>::expected_storage_base<char const*&, void>(std::__1::in_place_t, char const*&)
scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::parse_error, true>::expected_storage_base<char const*, void>(std::__1::in_place_t, char const*&&)
Line
Count
Source
440
1.94k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
1.94k
    {
442
1.94k
    }
scn::v4::detail::expected_storage_base<long, scn::v4::scan_error, true>::expected_storage_base<long, void>(std::__1::in_place_t, long&&)
Line
Count
Source
440
4.16k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
4.16k
    {
442
4.16k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<char const*, scn::v4::scan_error, true>::expected_storage_base<char const*&, void>(std::__1::in_place_t, char const*&)
scn::v4::detail::expected_storage_base<char const*, scn::v4::scan_error, true>::expected_storage_base<char const* const&, void>(std::__1::in_place_t, char const* const&)
Line
Count
Source
440
1.57k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
1.57k
    {
442
1.57k
    }
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::eof_error, true>::expected_storage_base<wchar_t const*, void>(std::__1::in_place_t, wchar_t const*&&)
Line
Count
Source
440
19.0k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
19.0k
    {
442
19.0k
    }
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::parse_error, true>::expected_storage_base<wchar_t const*&, void>(std::__1::in_place_t, wchar_t const*&)
Line
Count
Source
440
70
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
70
    {
442
70
    }
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::parse_error, true>::expected_storage_base<wchar_t const*, void>(std::__1::in_place_t, wchar_t const*&&)
Line
Count
Source
440
5.44k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
5.44k
    {
442
5.44k
    }
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::scan_error, true>::expected_storage_base<wchar_t const*&, void>(std::__1::in_place_t, wchar_t const*&)
Line
Count
Source
440
76
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
76
    {
442
76
    }
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::scan_error, true>::expected_storage_base<wchar_t const* const&, void>(std::__1::in_place_t, wchar_t const* const&)
Line
Count
Source
440
492
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
492
    {
442
492
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<long, scn::v4::scan_error, true>::expected_storage_base<int, void>(std::__1::in_place_t, int&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<wchar_t, scn::v4::scan_error, true>::expected_storage_base<wchar_t, void>(std::__1::in_place_t, wchar_t&&)
443
444
    template <typename... Args,
445
              typename = std::enable_if_t<std::is_constructible_v<E, Args...>>>
446
    constexpr explicit expected_storage_base(
447
        unexpect_t,
448
        Args&&... args) noexcept(std::is_nothrow_constructible_v<E, Args...>)
449
515k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
515k
          m_has_value(false)
451
515k
    {
452
515k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
449
5.36k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
5.36k
          m_has_value(false)
451
5.36k
    {
452
5.36k
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
449
48.5k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
48.5k
          m_has_value(false)
451
48.5k
    {
452
48.5k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
449
5.62k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
5.62k
          m_has_value(false)
451
5.62k
    {
452
5.62k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
449
5.62k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
5.62k
          m_has_value(false)
451
5.62k
    {
452
5.62k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
449
5.62k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
5.62k
          m_has_value(false)
451
5.62k
    {
452
5.62k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
449
5.62k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
5.62k
          m_has_value(false)
451
5.62k
    {
452
5.62k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
449
5.62k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
5.62k
          m_has_value(false)
451
5.62k
    {
452
5.62k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
449
5.00k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
5.00k
          m_has_value(false)
451
5.00k
    {
452
5.00k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
449
11.0k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
11.0k
          m_has_value(false)
451
11.0k
    {
452
11.0k
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
449
99.4k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
99.4k
          m_has_value(false)
451
99.4k
    {
452
99.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
449
11.2k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
11.2k
          m_has_value(false)
451
11.2k
    {
452
11.2k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
449
11.2k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
11.2k
          m_has_value(false)
451
11.2k
    {
452
11.2k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
449
11.2k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
11.2k
          m_has_value(false)
451
11.2k
    {
452
11.2k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
449
11.2k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
11.2k
          m_has_value(false)
451
11.2k
    {
452
11.2k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
449
11.2k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
11.2k
          m_has_value(false)
451
11.2k
    {
452
11.2k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
449
10.7k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
10.7k
          m_has_value(false)
451
10.7k
    {
452
10.7k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
scn::v4::detail::expected_storage_base<long, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
449
151k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
151k
          m_has_value(false)
451
151k
    {
452
151k
    }
scn::v4::detail::expected_storage_base<char const*, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
449
33.7k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
33.7k
          m_has_value(false)
451
33.7k
    {
452
33.7k
    }
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
449
19.2k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
19.2k
          m_has_value(false)
451
19.2k
    {
452
19.2k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error::code, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error::code&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error::code, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error::code&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Line
Count
Source
449
552
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
552
          m_has_value(false)
451
552
    {
452
552
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Line
Count
Source
449
482
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
482
          m_has_value(false)
451
482
    {
452
482
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
449
238
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
238
          m_has_value(false)
451
238
    {
452
238
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
449
6.95k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
6.95k
          m_has_value(false)
451
6.95k
    {
452
6.95k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<char const*, long>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Line
Count
Source
449
1.19k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
1.19k
          m_has_value(false)
451
1.19k
    {
452
1.19k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error::code, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error::code&&)
Line
Count
Source
449
5.56k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
5.56k
          m_has_value(false)
451
5.56k
    {
452
5.56k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Line
Count
Source
449
1.12k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
1.12k
          m_has_value(false)
451
1.12k
    {
452
1.12k
    }
scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error::code, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error::code&&)
Line
Count
Source
449
11.2k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
11.2k
          m_has_value(false)
451
11.2k
    {
452
11.2k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error::code, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error::code&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error::code, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error::code&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Line
Count
Source
449
176
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
176
          m_has_value(false)
451
176
    {
452
176
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Line
Count
Source
449
310
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
310
          m_has_value(false)
451
310
    {
452
310
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
449
74
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
74
          m_has_value(false)
451
74
    {
452
74
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
449
2.52k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
2.52k
          m_has_value(false)
451
2.52k
    {
452
2.52k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, long>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Line
Count
Source
449
784
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
784
          m_has_value(false)
451
784
    {
452
784
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error::code, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error::code&&)
Line
Count
Source
449
2.73k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
2.73k
          m_has_value(false)
451
2.73k
    {
452
2.73k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Line
Count
Source
449
1.30k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
1.30k
          m_has_value(false)
451
1.30k
    {
452
1.30k
    }
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error::code, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error::code&&)
Line
Count
Source
449
10.9k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
10.9k
          m_has_value(false)
451
10.9k
    {
452
10.9k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Line
Count
Source
449
346
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
346
          m_has_value(false)
451
346
    {
452
346
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
449
238
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
238
          m_has_value(false)
451
238
    {
452
238
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Line
Count
Source
449
74
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
74
          m_has_value(false)
451
74
    {
452
74
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
449
74
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
74
          m_has_value(false)
451
74
    {
452
74
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
453
454
    constexpr T& get_value() & noexcept
455
303k
    {
456
303k
        return m_value;
457
303k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
455
5.89k
    {
456
5.89k
        return m_value;
457
5.89k
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
455
2.11k
    {
456
2.11k
        return m_value;
457
2.11k
    }
scn::v4::detail::expected_storage_base<long, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
455
4.16k
    {
456
4.16k
        return m_value;
457
4.16k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
455
5.62k
    {
456
5.62k
        return m_value;
457
5.62k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
455
5.62k
    {
456
5.62k
        return m_value;
457
5.62k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
455
5.62k
    {
456
5.62k
        return m_value;
457
5.62k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
455
5.62k
    {
456
5.62k
        return m_value;
457
5.62k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
455
5.62k
    {
456
5.62k
        return m_value;
457
5.62k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
455
6.24k
    {
456
6.24k
        return m_value;
457
6.24k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
455
11.4k
    {
456
11.4k
        return m_value;
457
11.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
455
1.82k
    {
456
1.82k
        return m_value;
457
1.82k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
455
11.2k
    {
456
11.2k
        return m_value;
457
11.2k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
455
11.2k
    {
456
11.2k
        return m_value;
457
11.2k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
455
11.2k
    {
456
11.2k
        return m_value;
457
11.2k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
455
11.2k
    {
456
11.2k
        return m_value;
457
11.2k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
455
11.2k
    {
456
11.2k
        return m_value;
457
11.2k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
455
11.7k
    {
456
11.7k
        return m_value;
457
11.7k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<wchar_t, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::eof_error, true>::get_value() &
scn::v4::detail::expected_storage_base<char const*, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
455
22.2k
    {
456
22.2k
        return m_value;
457
22.2k
    }
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
455
18.6k
    {
456
18.6k
        return m_value;
457
18.6k
    }
scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::eof_error, true>::get_value() &
Line
Count
Source
455
40.7k
    {
456
40.7k
        return m_value;
457
40.7k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error, true>::get_value() &
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::eof_error, true>::get_value() &
Line
Count
Source
455
7.36k
    {
456
7.36k
        return m_value;
457
7.36k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::scan_error, true>::get_value() &
scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
455
4.99k
    {
456
4.99k
        return m_value;
457
4.99k
    }
scn::v4::detail::expected_storage_base<std::__1::pair<char const*, long>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
455
9.31k
    {
456
9.31k
        return m_value;
457
9.31k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error, true>::get_value() &
Line
Count
Source
455
1.94k
    {
456
1.94k
        return m_value;
457
1.94k
    }
scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() &
Line
Count
Source
455
1.42k
    {
456
1.42k
        return m_value;
457
1.42k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::impl::eof_error, true>::get_value() &
Line
Count
Source
455
1.06k
    {
456
1.06k
        return m_value;
457
1.06k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
455
1.06k
    {
456
1.06k
        return m_value;
457
1.06k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
455
3.40k
    {
456
3.40k
        return m_value;
457
3.40k
    }
scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::parse_error, true>::get_value() &
Line
Count
Source
455
1.94k
    {
456
1.94k
        return m_value;
457
1.94k
    }
scn::v4::detail::expected_storage_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() &
Line
Count
Source
455
3.65k
    {
456
3.65k
        return m_value;
457
3.65k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::impl::eof_error, true>::get_value() &
Line
Count
Source
455
2.73k
    {
456
2.73k
        return m_value;
457
2.73k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
455
2.73k
    {
456
2.73k
        return m_value;
457
2.73k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_value() &
scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
455
366
    {
456
366
        return m_value;
457
366
    }
scn::v4::detail::expected_storage_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
455
916
    {
456
916
        return m_value;
457
916
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error, true>::get_value() &
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::eof_error, true>::get_value() &
Line
Count
Source
455
13.6k
    {
456
13.6k
        return m_value;
457
13.6k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::eof_error, true>::get_value() &
Line
Count
Source
455
1.42k
    {
456
1.42k
        return m_value;
457
1.42k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::scan_error, true>::get_value() &
scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
455
2.13k
    {
456
2.13k
        return m_value;
457
2.13k
    }
scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, long>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
455
6.39k
    {
456
6.39k
        return m_value;
457
6.39k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error, true>::get_value() &
Line
Count
Source
455
1.02k
    {
456
1.02k
        return m_value;
457
1.02k
    }
scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() &
Line
Count
Source
455
754
    {
456
754
        return m_value;
457
754
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::impl::eof_error, true>::get_value() &
Line
Count
Source
455
572
    {
456
572
        return m_value;
457
572
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
455
572
    {
456
572
        return m_value;
457
572
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
455
2.03k
    {
456
2.03k
        return m_value;
457
2.03k
    }
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::parse_error, true>::get_value() &
Line
Count
Source
455
5.51k
    {
456
5.51k
        return m_value;
457
5.51k
    }
scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() &
Line
Count
Source
455
3.65k
    {
456
3.65k
        return m_value;
457
3.65k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::impl::eof_error, true>::get_value() &
Line
Count
Source
455
2.70k
    {
456
2.70k
        return m_value;
457
2.70k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
455
2.70k
    {
456
2.70k
        return m_value;
457
2.70k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_value() &
scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
455
182
    {
456
182
        return m_value;
457
182
    }
scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
455
948
    {
456
948
        return m_value;
457
948
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_value() &
Line
Count
Source
455
2.97k
    {
456
2.97k
        return m_value;
457
2.97k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
455
2.09k
    {
456
2.09k
        return m_value;
457
2.09k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_value() &
Line
Count
Source
455
1.04k
    {
456
1.04k
        return m_value;
457
1.04k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
455
1.04k
    {
456
1.04k
        return m_value;
457
1.04k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::get_value() &
458
    constexpr const T& get_value() const& noexcept
459
0
    {
460
0
        return m_value;
461
0
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::parse_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::parse_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_value() const &
462
    constexpr T&& get_value() && noexcept
463
0
    {
464
0
        return std::move(m_value);
465
0
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, true>::get_value() &&
466
    constexpr const T&& get_value() const&& noexcept
467
    {
468
        return std::move(m_value);
469
    }
470
471
    constexpr unexpected<E>& get_unexpected() & noexcept
472
498k
    {
473
498k
        return m_unexpected;
474
498k
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
472
48.5k
    {
473
48.5k
        return m_unexpected;
474
48.5k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
472
5.36k
    {
473
5.36k
        return m_unexpected;
474
5.36k
    }
scn::v4::detail::expected_storage_base<long, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
472
154k
    {
473
154k
        return m_unexpected;
474
154k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
472
5.62k
    {
473
5.62k
        return m_unexpected;
474
5.62k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
472
5.62k
    {
473
5.62k
        return m_unexpected;
474
5.62k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
472
5.62k
    {
473
5.62k
        return m_unexpected;
474
5.62k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
472
5.62k
    {
473
5.62k
        return m_unexpected;
474
5.62k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
472
5.62k
    {
473
5.62k
        return m_unexpected;
474
5.62k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
472
5.00k
    {
473
5.00k
        return m_unexpected;
474
5.00k
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
472
99.4k
    {
473
99.4k
        return m_unexpected;
474
99.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
472
11.0k
    {
473
11.0k
        return m_unexpected;
474
11.0k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
472
11.2k
    {
473
11.2k
        return m_unexpected;
474
11.2k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
472
11.2k
    {
473
11.2k
        return m_unexpected;
474
11.2k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
472
11.2k
    {
473
11.2k
        return m_unexpected;
474
11.2k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
472
11.2k
    {
473
11.2k
        return m_unexpected;
474
11.2k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
472
11.2k
    {
473
11.2k
        return m_unexpected;
474
11.2k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
472
10.7k
    {
473
10.7k
        return m_unexpected;
474
10.7k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<wchar_t, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::eof_error, true>::get_unexpected() &
scn::v4::detail::expected_storage_base<char const*, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
472
32.8k
    {
473
32.8k
        return m_unexpected;
474
32.8k
    }
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
472
18.2k
    {
473
18.2k
        return m_unexpected;
474
18.2k
    }
scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::eof_error, true>::get_unexpected() &
Line
Count
Source
472
102
    {
473
102
        return m_unexpected;
474
102
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::scan_error, true>::get_unexpected() &
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::eof_error, true>::get_unexpected() &
Line
Count
Source
472
414
    {
473
414
        return m_unexpected;
474
414
    }
scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
472
238
    {
473
238
        return m_unexpected;
474
238
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<char const*, long>, scn::v4::scan_error, true>::get_unexpected() &
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error, true>::get_unexpected() &
Line
Count
Source
472
3.97k
    {
473
3.97k
        return m_unexpected;
474
3.97k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::scan_error, true>::get_unexpected() &
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
472
6.59k
    {
473
6.59k
        return m_unexpected;
474
6.59k
    }
scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::parse_error, true>::get_unexpected() &
Line
Count
Source
472
5.60k
    {
473
5.60k
        return m_unexpected;
474
5.60k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::scan_error, true>::get_unexpected() &
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::eof_error, true>::get_unexpected() &
Line
Count
Source
472
310
    {
473
310
        return m_unexpected;
474
310
    }
scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
472
74
    {
473
74
        return m_unexpected;
474
74
    }
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::eof_error, true>::get_unexpected() &
Line
Count
Source
472
176
    {
473
176
        return m_unexpected;
474
176
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, long>, scn::v4::scan_error, true>::get_unexpected() &
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error, true>::get_unexpected() &
Line
Count
Source
472
2.03k
    {
473
2.03k
        return m_unexpected;
474
2.03k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::scan_error, true>::get_unexpected() &
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
472
2.34k
    {
473
2.34k
        return m_unexpected;
474
2.34k
    }
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::parse_error, true>::get_unexpected() &
Line
Count
Source
472
5.74k
    {
473
5.74k
        return m_unexpected;
474
5.74k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_unexpected() &
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_unexpected() &
Line
Count
Source
472
238
    {
473
238
        return m_unexpected;
474
238
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
472
238
    {
473
238
        return m_unexpected;
474
238
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_unexpected() &
Line
Count
Source
472
74
    {
473
74
        return m_unexpected;
474
74
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
472
74
    {
473
74
        return m_unexpected;
474
74
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::get_unexpected() &
475
    constexpr const unexpected<E>& get_unexpected() const& noexcept
476
0
    {
477
0
        return m_unexpected;
478
0
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::parse_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::parse_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_unexpected() const &
479
    constexpr unexpected<E>&& get_unexpected() && noexcept
480
116k
    {
481
116k
        return std::move(m_unexpected);
482
116k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
480
5.36k
    {
481
5.36k
        return std::move(m_unexpected);
482
5.36k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
480
5.62k
    {
481
5.62k
        return std::move(m_unexpected);
482
5.62k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
480
5.62k
    {
481
5.62k
        return std::move(m_unexpected);
482
5.62k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
480
5.62k
    {
481
5.62k
        return std::move(m_unexpected);
482
5.62k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
480
5.62k
    {
481
5.62k
        return std::move(m_unexpected);
482
5.62k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
480
5.62k
    {
481
5.62k
        return std::move(m_unexpected);
482
5.62k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
480
5.00k
    {
481
5.00k
        return std::move(m_unexpected);
482
5.00k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
480
11.0k
    {
481
11.0k
        return std::move(m_unexpected);
482
11.0k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
480
11.2k
    {
481
11.2k
        return std::move(m_unexpected);
482
11.2k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
480
11.2k
    {
481
11.2k
        return std::move(m_unexpected);
482
11.2k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
480
11.2k
    {
481
11.2k
        return std::move(m_unexpected);
482
11.2k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
480
11.2k
    {
481
11.2k
        return std::move(m_unexpected);
482
11.2k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
480
11.2k
    {
481
11.2k
        return std::move(m_unexpected);
482
11.2k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
480
10.7k
    {
481
10.7k
        return std::move(m_unexpected);
482
10.7k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, true>::get_unexpected() &&
483
    constexpr const unexpected<E>&& get_unexpected() const&& noexcept
484
    {
485
        return std::move(m_unexpected);
486
    }
487
488
    SCN_NODISCARD constexpr bool has_value() const noexcept
489
1.52M
    {
490
1.52M
        return m_has_value;
491
1.52M
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
489
101k
    {
490
101k
        return m_has_value;
491
101k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
489
16.6k
    {
490
16.6k
        return m_has_value;
491
16.6k
    }
scn::v4::detail::expected_storage_base<long, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
489
316k
    {
490
316k
        return m_has_value;
491
316k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
489
16.8k
    {
490
16.8k
        return m_has_value;
491
16.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
489
16.8k
    {
490
16.8k
        return m_has_value;
491
16.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
489
16.8k
    {
490
16.8k
        return m_has_value;
491
16.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
489
16.8k
    {
490
16.8k
        return m_has_value;
491
16.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
489
16.8k
    {
490
16.8k
        return m_has_value;
491
16.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
489
16.2k
    {
490
16.2k
        return m_has_value;
491
16.2k
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
489
202k
    {
490
202k
        return m_has_value;
491
202k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
489
33.5k
    {
490
33.5k
        return m_has_value;
491
33.5k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
489
33.7k
    {
490
33.7k
        return m_has_value;
491
33.7k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
489
33.7k
    {
490
33.7k
        return m_has_value;
491
33.7k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
489
33.7k
    {
490
33.7k
        return m_has_value;
491
33.7k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
489
33.7k
    {
490
33.7k
        return m_has_value;
491
33.7k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
489
33.7k
    {
490
33.7k
        return m_has_value;
491
33.7k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
489
33.2k
    {
490
33.2k
        return m_has_value;
491
33.2k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<wchar_t, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::eof_error, true>::has_value() const
scn::v4::detail::expected_storage_base<char const*, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
489
112k
    {
490
112k
        return m_has_value;
491
112k
    }
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
489
76.6k
    {
490
76.6k
        return m_has_value;
491
76.6k
    }
scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::eof_error, true>::has_value() const
Line
Count
Source
489
87.4k
    {
490
87.4k
        return m_has_value;
491
87.4k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error, true>::has_value() const
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::eof_error, true>::has_value() const
Line
Count
Source
489
17.5k
    {
490
17.5k
        return m_has_value;
491
17.5k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::scan_error, true>::has_value() const
scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
489
10.4k
    {
490
10.4k
        return m_has_value;
491
10.4k
    }
scn::v4::detail::expected_storage_base<std::__1::pair<char const*, long>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
489
18.6k
    {
490
18.6k
        return m_has_value;
491
18.6k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error, true>::has_value() const
Line
Count
Source
489
15.7k
    {
490
15.7k
        return m_has_value;
491
15.7k
    }
scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::has_value() const
Line
Count
Source
489
2.85k
    {
490
2.85k
        return m_has_value;
491
2.85k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::impl::eof_error, true>::has_value() const
Line
Count
Source
489
2.12k
    {
490
2.12k
        return m_has_value;
491
2.12k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
489
2.12k
    {
490
2.12k
        return m_has_value;
491
2.12k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
489
20.7k
    {
490
20.7k
        return m_has_value;
491
20.7k
    }
scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::parse_error, true>::has_value() const
Line
Count
Source
489
23.7k
    {
490
23.7k
        return m_has_value;
491
23.7k
    }
scn::v4::detail::expected_storage_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::has_value() const
Line
Count
Source
489
7.30k
    {
490
7.30k
        return m_has_value;
491
7.30k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::impl::eof_error, true>::has_value() const
Line
Count
Source
489
5.47k
    {
490
5.47k
        return m_has_value;
491
5.47k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
489
5.47k
    {
490
5.47k
        return m_has_value;
491
5.47k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::has_value() const
scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
489
732
    {
490
732
        return m_has_value;
491
732
    }
scn::v4::detail::expected_storage_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
489
1.83k
    {
490
1.83k
        return m_has_value;
491
1.83k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error, true>::has_value() const
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::eof_error, true>::has_value() const
Line
Count
Source
489
33.0k
    {
490
33.0k
        return m_has_value;
491
33.0k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::eof_error, true>::has_value() const
Line
Count
Source
489
4.64k
    {
490
4.64k
        return m_has_value;
491
4.64k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::scan_error, true>::has_value() const
scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
489
4.40k
    {
490
4.40k
        return m_has_value;
491
4.40k
    }
scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, long>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
489
12.7k
    {
490
12.7k
        return m_has_value;
491
12.7k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error, true>::has_value() const
Line
Count
Source
489
8.09k
    {
490
8.09k
        return m_has_value;
491
8.09k
    }
scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::has_value() const
Line
Count
Source
489
1.50k
    {
490
1.50k
        return m_has_value;
491
1.50k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::impl::eof_error, true>::has_value() const
Line
Count
Source
489
1.14k
    {
490
1.14k
        return m_has_value;
491
1.14k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
489
1.14k
    {
490
1.14k
        return m_has_value;
491
1.14k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
489
9.14k
    {
490
9.14k
        return m_has_value;
491
9.14k
    }
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::parse_error, true>::has_value() const
Line
Count
Source
489
30.9k
    {
490
30.9k
        return m_has_value;
491
30.9k
    }
scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::has_value() const
Line
Count
Source
489
7.30k
    {
490
7.30k
        return m_has_value;
491
7.30k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::impl::eof_error, true>::has_value() const
Line
Count
Source
489
5.40k
    {
490
5.40k
        return m_has_value;
491
5.40k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
489
5.40k
    {
490
5.40k
        return m_has_value;
491
5.40k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::has_value() const
scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
489
364
    {
490
364
        return m_has_value;
491
364
    }
scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
489
1.89k
    {
490
1.89k
        return m_has_value;
491
1.89k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::has_value() const
Line
Count
Source
489
6.34k
    {
490
6.34k
        return m_has_value;
491
6.34k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
489
4.66k
    {
490
4.66k
        return m_has_value;
491
4.66k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::has_value() const
Line
Count
Source
489
2.24k
    {
490
2.24k
        return m_has_value;
491
2.24k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
489
2.24k
    {
490
2.24k
        return m_has_value;
491
2.24k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::has_value() const
492
493
    template <typename... Args>
494
    void construct(Args&&... args) noexcept(
495
        std::is_nothrow_constructible_v<T, Args...>)
496
0
    {
497
0
        scn::detail::construct_at(&get_value(), std::forward<Args>(args)...);
498
0
        m_has_value = true;
499
0
    }
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>&&)
500
    template <typename... Args>
501
    void construct_unexpected(Args&&... args) noexcept(
502
        std::is_nothrow_constructible_v<E, Args...>)
503
116k
    {
504
116k
        scn::detail::construct_at(&get_unexpected(),
505
116k
                                  std::forward<Args>(args)...);
506
116k
        m_has_value = false;
507
116k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
503
5.36k
    {
504
5.36k
        scn::detail::construct_at(&get_unexpected(),
505
5.36k
                                  std::forward<Args>(args)...);
506
5.36k
        m_has_value = false;
507
5.36k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
503
5.62k
    {
504
5.62k
        scn::detail::construct_at(&get_unexpected(),
505
5.62k
                                  std::forward<Args>(args)...);
506
5.62k
        m_has_value = false;
507
5.62k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
503
5.62k
    {
504
5.62k
        scn::detail::construct_at(&get_unexpected(),
505
5.62k
                                  std::forward<Args>(args)...);
506
5.62k
        m_has_value = false;
507
5.62k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
503
5.62k
    {
504
5.62k
        scn::detail::construct_at(&get_unexpected(),
505
5.62k
                                  std::forward<Args>(args)...);
506
5.62k
        m_has_value = false;
507
5.62k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
503
5.62k
    {
504
5.62k
        scn::detail::construct_at(&get_unexpected(),
505
5.62k
                                  std::forward<Args>(args)...);
506
5.62k
        m_has_value = false;
507
5.62k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
503
5.62k
    {
504
5.62k
        scn::detail::construct_at(&get_unexpected(),
505
5.62k
                                  std::forward<Args>(args)...);
506
5.62k
        m_has_value = false;
507
5.62k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
503
5.00k
    {
504
5.00k
        scn::detail::construct_at(&get_unexpected(),
505
5.00k
                                  std::forward<Args>(args)...);
506
5.00k
        m_has_value = false;
507
5.00k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
503
11.0k
    {
504
11.0k
        scn::detail::construct_at(&get_unexpected(),
505
11.0k
                                  std::forward<Args>(args)...);
506
11.0k
        m_has_value = false;
507
11.0k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
503
11.2k
    {
504
11.2k
        scn::detail::construct_at(&get_unexpected(),
505
11.2k
                                  std::forward<Args>(args)...);
506
11.2k
        m_has_value = false;
507
11.2k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
503
11.2k
    {
504
11.2k
        scn::detail::construct_at(&get_unexpected(),
505
11.2k
                                  std::forward<Args>(args)...);
506
11.2k
        m_has_value = false;
507
11.2k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
503
11.2k
    {
504
11.2k
        scn::detail::construct_at(&get_unexpected(),
505
11.2k
                                  std::forward<Args>(args)...);
506
11.2k
        m_has_value = false;
507
11.2k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
503
11.2k
    {
504
11.2k
        scn::detail::construct_at(&get_unexpected(),
505
11.2k
                                  std::forward<Args>(args)...);
506
11.2k
        m_has_value = false;
507
11.2k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
503
11.2k
    {
504
11.2k
        scn::detail::construct_at(&get_unexpected(),
505
11.2k
                                  std::forward<Args>(args)...);
506
11.2k
        m_has_value = false;
507
11.2k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
503
10.7k
    {
504
10.7k
        scn::detail::construct_at(&get_unexpected(),
505
10.7k
                                  std::forward<Args>(args)...);
506
10.7k
        m_has_value = false;
507
10.7k
    }
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
508
509
    // No-op, because T and E are trivially destructible
510
116k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
510
5.36k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
510
5.62k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
510
5.62k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
510
5.62k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
510
5.62k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
510
5.62k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
510
5.00k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
510
11.0k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
510
11.2k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
510
11.2k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
510
11.2k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
510
11.2k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
510
11.2k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
510
10.7k
    static constexpr void destroy_value() noexcept {}
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, true>::destroy_value()
511
0
    static constexpr void destroy_unexpected() noexcept {}
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, true>::destroy_unexpected()
512
513
private:
514
    union {
515
        T m_value;
516
        unexpected<E> m_unexpected;
517
        char m_deferred_init;
518
    };
519
    bool m_has_value;
520
};
521
522
template <typename E>
523
struct SCN_TRIVIAL_ABI expected_storage_base<void, E, true> {
524
#if SCN_STD >= SCN_STD_20
525
    constexpr expected_storage_base() noexcept : m_has_value(true) {}
526
#else
527
    constexpr expected_storage_base() noexcept
528
381k
        : m_deferred_init(), m_has_value(true)
529
381k
    {
530
381k
    }
531
#endif
532
533
    explicit constexpr expected_storage_base(deferred_init_tag_t) noexcept
534
        : m_deferred_init(), m_has_value(false)
535
    {
536
    }
537
538
    explicit constexpr expected_storage_base(std::in_place_t) noexcept
539
        : m_has_value(true)
540
    {
541
    }
542
543
    template <typename... Args,
544
              typename = std::enable_if_t<std::is_constructible_v<E, Args...>>>
545
    explicit constexpr expected_storage_base(
546
        unexpect_t,
547
        Args&&... args) noexcept(std::is_nothrow_constructible_v<E, Args...>)
548
361k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
549
361k
          m_has_value(false)
550
361k
    {
551
361k
    }
552
553
    constexpr unexpected<E>& get_unexpected() & noexcept
554
169k
    {
555
169k
        return m_unexpected;
556
169k
    }
557
    constexpr const unexpected<E>& get_unexpected() const& noexcept
558
    {
559
        return m_unexpected;
560
    }
561
    constexpr unexpected<E>&& get_unexpected() && noexcept
562
    {
563
        return std::move(m_unexpected);
564
    }
565
    constexpr const unexpected<E>&& get_unexpected() const&& noexcept
566
    {
567
        return std::move(m_unexpected);
568
    }
569
570
    SCN_NODISCARD constexpr bool has_value() const noexcept
571
2.39M
    {
572
2.39M
        return m_has_value;
573
2.39M
    }
574
575
    template <typename... Args>
576
    void construct(Args&&...) noexcept
577
    {
578
        m_has_value = true;
579
    }
580
    template <typename... Args>
581
    void construct_unexpected(Args&&... args) noexcept(
582
        std::is_nothrow_constructible_v<E, Args...>)
583
    {
584
        scn::detail::construct_at(&get_unexpected(),
585
                                  std::forward<Args>(args)...);
586
        m_has_value = false;
587
    }
588
589
    static constexpr void destroy_value() noexcept {}
590
    static constexpr void destroy_unexpected() noexcept {}
591
592
private:
593
    union {
594
        unexpected<E> m_unexpected;
595
        char m_deferred_init;
596
    };
597
    bool m_has_value;
598
};
599
600
/**
601
 * Implementation of `std::max` without including `<algorithm>`
602
 */
603
template <typename T>
604
constexpr T max(T a, T b) noexcept
605
0
{
606
0
    return (a < b) ? b : a;
607
0
}
608
609
template <typename T, typename E>
610
struct SCN_TRIVIAL_ABI expected_storage_base<T, E, false> {
611
33.7k
    constexpr expected_storage_base() noexcept : m_has_value(true)
612
33.7k
    {
613
33.7k
        construct();
614
33.7k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base()
Line
Count
Source
611
5.62k
    constexpr expected_storage_base() noexcept : m_has_value(true)
612
5.62k
    {
613
5.62k
        construct();
614
5.62k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, false>::expected_storage_base()
Line
Count
Source
611
5.62k
    constexpr expected_storage_base() noexcept : m_has_value(true)
612
5.62k
    {
613
5.62k
        construct();
614
5.62k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base()
Line
Count
Source
611
11.2k
    constexpr expected_storage_base() noexcept : m_has_value(true)
612
11.2k
    {
613
11.2k
        construct();
614
11.2k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, false>::expected_storage_base()
Line
Count
Source
611
11.2k
    constexpr expected_storage_base() noexcept : m_has_value(true)
612
11.2k
    {
613
11.2k
        construct();
614
11.2k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base()
615
616
    explicit constexpr expected_storage_base(deferred_init_tag_t) noexcept
617
        : m_has_value(false)
618
    {
619
    }
620
621
    template <typename... Args,
622
              typename = std::enable_if_t<std::is_constructible_v<T, Args...>>>
623
    explicit constexpr expected_storage_base(
624
        std::in_place_t,
625
        Args&&... args) noexcept(std::is_nothrow_constructible_v<T, Args...>)
626
12
        : m_has_value(true)
627
12
    {
628
12
        construct(std::forward<Args>(args)...);
629
12
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
626
8
        : m_has_value(true)
627
8
    {
628
8
        construct(std::forward<Args>(args)...);
629
8
    }
scn::v4::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
626
4
        : m_has_value(true)
627
4
    {
628
4
        construct(std::forward<Args>(args)...);
629
4
    }
630
631
    template <typename... Args,
632
              typename = std::enable_if_t<std::is_constructible_v<E, Args...>>>
633
    explicit constexpr expected_storage_base(
634
        unexpect_t,
635
        Args&&... args) noexcept(std::is_nothrow_constructible_v<E, Args...>)
636
31.7k
        : m_has_value(false)
637
31.7k
    {
638
31.7k
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
639
31.7k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
636
5.00k
        : m_has_value(false)
637
5.00k
    {
638
5.00k
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
639
5.00k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
636
5.00k
        : m_has_value(false)
637
5.00k
    {
638
5.00k
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
639
5.00k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
636
10.7k
        : m_has_value(false)
637
10.7k
    {
638
10.7k
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
639
10.7k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
636
10.7k
        : m_has_value(false)
637
10.7k
    {
638
10.7k
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
639
10.7k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
636
24
        : m_has_value(false)
637
24
    {
638
24
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
639
24
    }
scn::v4::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
636
20
        : m_has_value(false)
637
20
    {
638
20
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
639
20
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
636
40
        : m_has_value(false)
637
40
    {
638
40
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
639
40
    }
scn::v4::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
636
40
        : m_has_value(false)
637
40
    {
638
40
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
639
40
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
640
641
    ~expected_storage_base()
642
65.4k
    {
643
65.4k
        if (has_value()) {
644
2.18k
            destroy_value();
645
2.18k
        }
646
63.3k
        else {
647
63.3k
            destroy_unexpected();
648
63.3k
        }
649
65.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::~expected_storage_base()
Line
Count
Source
642
10.6k
    {
643
10.6k
        if (has_value()) {
644
618
            destroy_value();
645
618
        }
646
10.0k
        else {
647
10.0k
            destroy_unexpected();
648
10.0k
        }
649
10.6k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, false>::~expected_storage_base()
Line
Count
Source
642
10.6k
    {
643
10.6k
        if (has_value()) {
644
618
            destroy_value();
645
618
        }
646
10.0k
        else {
647
10.0k
            destroy_unexpected();
648
10.0k
        }
649
10.6k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::~expected_storage_base()
Line
Count
Source
642
22.0k
    {
643
22.0k
        if (has_value()) {
644
466
            destroy_value();
645
466
        }
646
21.5k
        else {
647
21.5k
            destroy_unexpected();
648
21.5k
        }
649
22.0k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, false>::~expected_storage_base()
Line
Count
Source
642
22.0k
    {
643
22.0k
        if (has_value()) {
644
466
            destroy_value();
645
466
        }
646
21.5k
        else {
647
21.5k
            destroy_unexpected();
648
21.5k
        }
649
22.0k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::~expected_storage_base()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::~expected_storage_base()
scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::~expected_storage_base()
Line
Count
Source
642
24
    {
643
24
        if (has_value()) {
644
0
            destroy_value();
645
0
        }
646
24
        else {
647
24
            destroy_unexpected();
648
24
        }
649
24
    }
scn::v4::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::~expected_storage_base()
Line
Count
Source
642
20
    {
643
20
        if (has_value()) {
644
0
            destroy_value();
645
0
        }
646
20
        else {
647
20
            destroy_unexpected();
648
20
        }
649
20
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::~expected_storage_base()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::~expected_storage_base()
scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::~expected_storage_base()
Line
Count
Source
642
48
    {
643
48
        if (has_value()) {
644
8
            destroy_value();
645
8
        }
646
40
        else {
647
40
            destroy_unexpected();
648
40
        }
649
48
    }
scn::v4::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::~expected_storage_base()
Line
Count
Source
642
44
    {
643
44
        if (has_value()) {
644
4
            destroy_value();
645
4
        }
646
40
        else {
647
40
            destroy_unexpected();
648
40
        }
649
44
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::~expected_storage_base()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::~expected_storage_base()
650
651
    constexpr T& get_value() & noexcept
652
35.9k
    {
653
35.9k
        return *value_ptr();
654
35.9k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &
Line
Count
Source
652
6.24k
    {
653
6.24k
        return *value_ptr();
654
6.24k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, false>::get_value() &
Line
Count
Source
652
6.24k
    {
653
6.24k
        return *value_ptr();
654
6.24k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &
Line
Count
Source
652
11.7k
    {
653
11.7k
        return *value_ptr();
654
11.7k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, false>::get_value() &
Line
Count
Source
652
11.7k
    {
653
11.7k
        return *value_ptr();
654
11.7k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &
scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &
Line
Count
Source
652
8
    {
653
8
        return *value_ptr();
654
8
    }
scn::v4::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &
Line
Count
Source
652
4
    {
653
4
        return *value_ptr();
654
4
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &
655
    constexpr const T& get_value() const& noexcept
656
    {
657
        return *value_ptr();
658
    }
659
    constexpr T&& get_value() && noexcept
660
0
    {
661
0
        return std::move(*value_ptr());
662
0
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, false>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, false>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &&
663
    constexpr const T&& get_value() const&& noexcept
664
    {
665
        return std::move(*value_ptr());
666
    }
667
668
    constexpr unexpected<E>& get_unexpected() & noexcept
669
124
    {
670
124
        return *unexpected_ptr();
671
124
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, false>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, false>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &
scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &
Line
Count
Source
669
24
    {
670
24
        return *unexpected_ptr();
671
24
    }
scn::v4::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &
Line
Count
Source
669
20
    {
670
20
        return *unexpected_ptr();
671
20
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &
scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &
Line
Count
Source
669
40
    {
670
40
        return *unexpected_ptr();
671
40
    }
scn::v4::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &
Line
Count
Source
669
40
    {
670
40
        return *unexpected_ptr();
671
40
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &
672
    constexpr const unexpected<E>& get_unexpected() const& noexcept
673
    {
674
        return *unexpected_ptr();
675
    }
676
    constexpr unexpected<E>&& get_unexpected() && noexcept
677
31.5k
    {
678
31.5k
        return std::move(*unexpected_ptr());
679
31.5k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &&
Line
Count
Source
677
5.00k
    {
678
5.00k
        return std::move(*unexpected_ptr());
679
5.00k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, false>::get_unexpected() &&
Line
Count
Source
677
5.00k
    {
678
5.00k
        return std::move(*unexpected_ptr());
679
5.00k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &&
Line
Count
Source
677
10.7k
    {
678
10.7k
        return std::move(*unexpected_ptr());
679
10.7k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, false>::get_unexpected() &&
Line
Count
Source
677
10.7k
    {
678
10.7k
        return std::move(*unexpected_ptr());
679
10.7k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &&
680
    constexpr const unexpected<E>&& get_unexpected() const&& noexcept
681
    {
682
        return std::move(*unexpected_ptr());
683
    }
684
685
    SCN_NODISCARD constexpr bool has_value() const noexcept
686
164k
    {
687
164k
        return m_has_value;
688
164k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::has_value() const
Line
Count
Source
686
26.8k
    {
687
26.8k
        return m_has_value;
688
26.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, false>::has_value() const
Line
Count
Source
686
26.8k
    {
687
26.8k
        return m_has_value;
688
26.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::has_value() const
Line
Count
Source
686
55.3k
    {
687
55.3k
        return m_has_value;
688
55.3k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, false>::has_value() const
Line
Count
Source
686
55.3k
    {
687
55.3k
        return m_has_value;
688
55.3k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::has_value() const
scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::has_value() const
Line
Count
Source
686
72
    {
687
72
        return m_has_value;
688
72
    }
scn::v4::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::has_value() const
Line
Count
Source
686
60
    {
687
60
        return m_has_value;
688
60
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::has_value() const
scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::has_value() const
Line
Count
Source
686
144
    {
687
144
        return m_has_value;
688
144
    }
scn::v4::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::has_value() const
Line
Count
Source
686
132
    {
687
132
        return m_has_value;
688
132
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::has_value() const
689
690
    template <typename... Args>
691
    void construct(Args&&... args) noexcept(
692
        std::is_nothrow_constructible_v<T, Args...>)
693
33.7k
    {
694
33.7k
        scn::detail::construct_at(value_ptr(), std::forward<Args>(args)...);
695
33.7k
        m_has_value = true;
696
33.7k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<>()
Line
Count
Source
693
5.62k
    {
694
5.62k
        scn::detail::construct_at(value_ptr(), std::forward<Args>(args)...);
695
5.62k
        m_has_value = true;
696
5.62k
    }
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, false>::construct<>()
Line
Count
Source
693
5.62k
    {
694
5.62k
        scn::detail::construct_at(value_ptr(), std::forward<Args>(args)...);
695
5.62k
        m_has_value = true;
696
5.62k
    }
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, false>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&)
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<>()
Line
Count
Source
693
11.2k
    {
694
11.2k
        scn::detail::construct_at(value_ptr(), std::forward<Args>(args)...);
695
11.2k
        m_has_value = true;
696
11.2k
    }
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, false>::construct<>()
Line
Count
Source
693
11.2k
    {
694
11.2k
        scn::detail::construct_at(value_ptr(), std::forward<Args>(args)...);
695
11.2k
        m_has_value = true;
696
11.2k
    }
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, false>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
void scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
693
8
    {
694
8
        scn::detail::construct_at(value_ptr(), std::forward<Args>(args)...);
695
8
        m_has_value = true;
696
8
    }
void scn::v4::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
693
4
    {
694
4
        scn::detail::construct_at(value_ptr(), std::forward<Args>(args)...);
695
4
        m_has_value = true;
696
4
    }
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<>()
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<>()
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
697
    template <typename... Args>
698
    void construct_unexpected(Args&&... args) noexcept(
699
        std::is_nothrow_constructible_v<E, Args...>)
700
63.3k
    {
701
63.3k
        scn::detail::construct_at(unexpected_ptr(),
702
63.3k
                                  std::forward<Args>(args)...);
703
63.3k
        m_has_value = false;
704
63.3k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
Line
Count
Source
700
5.00k
    {
701
5.00k
        scn::detail::construct_at(unexpected_ptr(),
702
5.00k
                                  std::forward<Args>(args)...);
703
5.00k
        m_has_value = false;
704
5.00k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
700
5.00k
    {
701
5.00k
        scn::detail::construct_at(unexpected_ptr(),
702
5.00k
                                  std::forward<Args>(args)...);
703
5.00k
        m_has_value = false;
704
5.00k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
Line
Count
Source
700
5.00k
    {
701
5.00k
        scn::detail::construct_at(unexpected_ptr(),
702
5.00k
                                  std::forward<Args>(args)...);
703
5.00k
        m_has_value = false;
704
5.00k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, false>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
700
5.00k
    {
701
5.00k
        scn::detail::construct_at(unexpected_ptr(),
702
5.00k
                                  std::forward<Args>(args)...);
703
5.00k
        m_has_value = false;
704
5.00k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
Line
Count
Source
700
10.7k
    {
701
10.7k
        scn::detail::construct_at(unexpected_ptr(),
702
10.7k
                                  std::forward<Args>(args)...);
703
10.7k
        m_has_value = false;
704
10.7k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
700
10.7k
    {
701
10.7k
        scn::detail::construct_at(unexpected_ptr(),
702
10.7k
                                  std::forward<Args>(args)...);
703
10.7k
        m_has_value = false;
704
10.7k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
Line
Count
Source
700
10.7k
    {
701
10.7k
        scn::detail::construct_at(unexpected_ptr(),
702
10.7k
                                  std::forward<Args>(args)...);
703
10.7k
        m_has_value = false;
704
10.7k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, false>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
700
10.7k
    {
701
10.7k
        scn::detail::construct_at(unexpected_ptr(),
702
10.7k
                                  std::forward<Args>(args)...);
703
10.7k
        m_has_value = false;
704
10.7k
    }
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
void scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
Line
Count
Source
700
24
    {
701
24
        scn::detail::construct_at(unexpected_ptr(),
702
24
                                  std::forward<Args>(args)...);
703
24
        m_has_value = false;
704
24
    }
void scn::v4::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
Line
Count
Source
700
20
    {
701
20
        scn::detail::construct_at(unexpected_ptr(),
702
20
                                  std::forward<Args>(args)...);
703
20
        m_has_value = false;
704
20
    }
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
void scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
Line
Count
Source
700
40
    {
701
40
        scn::detail::construct_at(unexpected_ptr(),
702
40
                                  std::forward<Args>(args)...);
703
40
        m_has_value = false;
704
40
    }
void scn::v4::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
Line
Count
Source
700
40
    {
701
40
        scn::detail::construct_at(unexpected_ptr(),
702
40
                                  std::forward<Args>(args)...);
703
40
        m_has_value = false;
704
40
    }
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
705
706
    void destroy_value() noexcept
707
33.7k
    {
708
33.7k
        scn::detail::destroy_at(value_ptr());
709
33.7k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_value()
Line
Count
Source
707
5.62k
    {
708
5.62k
        scn::detail::destroy_at(value_ptr());
709
5.62k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, false>::destroy_value()
Line
Count
Source
707
5.62k
    {
708
5.62k
        scn::detail::destroy_at(value_ptr());
709
5.62k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_value()
Line
Count
Source
707
11.2k
    {
708
11.2k
        scn::detail::destroy_at(value_ptr());
709
11.2k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, false>::destroy_value()
Line
Count
Source
707
11.2k
    {
708
11.2k
        scn::detail::destroy_at(value_ptr());
709
11.2k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_value()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_value()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_value()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_value()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_value()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_value()
scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_value()
Line
Count
Source
707
8
    {
708
8
        scn::detail::destroy_at(value_ptr());
709
8
    }
scn::v4::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_value()
Line
Count
Source
707
4
    {
708
4
        scn::detail::destroy_at(value_ptr());
709
4
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_value()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_value()
710
    void destroy_unexpected() noexcept
711
63.3k
    {
712
63.3k
        scn::detail::destroy_at(unexpected_ptr());
713
63.3k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_unexpected()
Line
Count
Source
711
10.0k
    {
712
10.0k
        scn::detail::destroy_at(unexpected_ptr());
713
10.0k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, false>::destroy_unexpected()
Line
Count
Source
711
10.0k
    {
712
10.0k
        scn::detail::destroy_at(unexpected_ptr());
713
10.0k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_unexpected()
Line
Count
Source
711
21.5k
    {
712
21.5k
        scn::detail::destroy_at(unexpected_ptr());
713
21.5k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, false>::destroy_unexpected()
Line
Count
Source
711
21.5k
    {
712
21.5k
        scn::detail::destroy_at(unexpected_ptr());
713
21.5k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_unexpected()
scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_unexpected()
Line
Count
Source
711
24
    {
712
24
        scn::detail::destroy_at(unexpected_ptr());
713
24
    }
scn::v4::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_unexpected()
Line
Count
Source
711
20
    {
712
20
        scn::detail::destroy_at(unexpected_ptr());
713
20
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_unexpected()
scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_unexpected()
Line
Count
Source
711
40
    {
712
40
        scn::detail::destroy_at(unexpected_ptr());
713
40
    }
scn::v4::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_unexpected()
Line
Count
Source
711
40
    {
712
40
        scn::detail::destroy_at(unexpected_ptr());
713
40
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_unexpected()
714
715
private:
716
    T* value_ptr() noexcept
717
103k
    {
718
103k
        return reinterpret_cast<T*>(SCN_ASSUME_ALIGNED(m_memory, alignof(T)));
719
103k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::value_ptr()
Line
Count
Source
717
17.4k
    {
718
17.4k
        return reinterpret_cast<T*>(SCN_ASSUME_ALIGNED(m_memory, alignof(T)));
719
17.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, false>::value_ptr()
Line
Count
Source
717
17.4k
    {
718
17.4k
        return reinterpret_cast<T*>(SCN_ASSUME_ALIGNED(m_memory, alignof(T)));
719
17.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::value_ptr()
Line
Count
Source
717
34.2k
    {
718
34.2k
        return reinterpret_cast<T*>(SCN_ASSUME_ALIGNED(m_memory, alignof(T)));
719
34.2k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, false>::value_ptr()
Line
Count
Source
717
34.2k
    {
718
34.2k
        return reinterpret_cast<T*>(SCN_ASSUME_ALIGNED(m_memory, alignof(T)));
719
34.2k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::value_ptr()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::value_ptr()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::value_ptr()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::value_ptr()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::value_ptr()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::value_ptr()
scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::value_ptr()
Line
Count
Source
717
24
    {
718
24
        return reinterpret_cast<T*>(SCN_ASSUME_ALIGNED(m_memory, alignof(T)));
719
24
    }
scn::v4::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::value_ptr()
Line
Count
Source
717
12
    {
718
12
        return reinterpret_cast<T*>(SCN_ASSUME_ALIGNED(m_memory, alignof(T)));
719
12
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::value_ptr()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::value_ptr()
720
    const T* value_ptr() const noexcept
721
    {
722
        return reinterpret_cast<const T*>(
723
            SCN_ASSUME_ALIGNED(m_memory, alignof(T)));
724
    }
725
726
    SCN_GCC_PUSH
727
    SCN_GCC_IGNORE("-Wcast-align")
728
    unexpected<E>* unexpected_ptr() noexcept
729
158k
    {
730
158k
        return reinterpret_cast<unexpected<E>*>(
731
158k
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
732
158k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::unexpected_ptr()
Line
Count
Source
729
25.0k
    {
730
25.0k
        return reinterpret_cast<unexpected<E>*>(
731
25.0k
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
732
25.0k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, false>::unexpected_ptr()
Line
Count
Source
729
25.0k
    {
730
25.0k
        return reinterpret_cast<unexpected<E>*>(
731
25.0k
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
732
25.0k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::unexpected_ptr()
Line
Count
Source
729
53.9k
    {
730
53.9k
        return reinterpret_cast<unexpected<E>*>(
731
53.9k
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
732
53.9k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, false>::unexpected_ptr()
Line
Count
Source
729
53.9k
    {
730
53.9k
        return reinterpret_cast<unexpected<E>*>(
731
53.9k
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
732
53.9k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::unexpected_ptr()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::unexpected_ptr()
scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::unexpected_ptr()
Line
Count
Source
729
72
    {
730
72
        return reinterpret_cast<unexpected<E>*>(
731
72
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
732
72
    }
scn::v4::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::unexpected_ptr()
Line
Count
Source
729
60
    {
730
60
        return reinterpret_cast<unexpected<E>*>(
731
60
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
732
60
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::unexpected_ptr()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::unexpected_ptr()
scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::unexpected_ptr()
Line
Count
Source
729
120
    {
730
120
        return reinterpret_cast<unexpected<E>*>(
731
120
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
732
120
    }
scn::v4::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::unexpected_ptr()
Line
Count
Source
729
120
    {
730
120
        return reinterpret_cast<unexpected<E>*>(
731
120
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
732
120
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::unexpected_ptr()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::unexpected_ptr()
733
    const unexpected<E>* unexpected_ptr() const noexcept
734
    {
735
        return reinterpret_cast<const unexpected<E>*>(
736
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
737
    }
738
    SCN_GCC_POP
739
740
    static constexpr std::size_t required_size =
741
        detail::max(sizeof(T), sizeof(unexpected<E>));
742
    static constexpr std::size_t required_alignment =
743
        detail::max(alignof(T), alignof(unexpected<E>));
744
745
    alignas(required_alignment) unsigned char m_memory[required_size];
746
    bool m_has_value;
747
};
748
749
template <typename E>
750
struct SCN_TRIVIAL_ABI expected_storage_base<void, E, false> {
751
    constexpr expected_storage_base() noexcept : m_has_value(true) {}
752
753
    explicit constexpr expected_storage_base(deferred_init_tag_t) noexcept
754
        : m_has_value(false)
755
    {
756
    }
757
758
    explicit constexpr expected_storage_base(std::in_place_t) noexcept
759
        : m_has_value(true)
760
    {
761
    }
762
763
    template <typename... Args,
764
              typename = std::enable_if_t<std::is_constructible_v<E, Args...>>>
765
    explicit constexpr expected_storage_base(
766
        unexpect_t,
767
        Args&&... args) noexcept(std::is_nothrow_constructible_v<E, Args...>)
768
        : m_has_value(false)
769
    {
770
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
771
    }
772
773
    ~expected_storage_base()
774
    {
775
        if (!has_value()) {
776
            destroy_unexpected();
777
        }
778
    }
779
780
    constexpr unexpected<E>& get_unexpected() & noexcept
781
    {
782
        return *unexpected_ptr();
783
    }
784
    constexpr const unexpected<E>& get_unexpected() const& noexcept
785
    {
786
        return *unexpected_ptr();
787
    }
788
    constexpr unexpected<E>&& get_unexpected() && noexcept
789
    {
790
        return std::move(*unexpected_ptr());
791
    }
792
    constexpr const unexpected<E>&& get_unexpected() const&& noexcept
793
    {
794
        return std::move(*unexpected_ptr());
795
    }
796
797
    SCN_NODISCARD constexpr bool has_value() const noexcept
798
    {
799
        return m_has_value;
800
    }
801
802
    template <typename... Args>
803
    constexpr void construct(Args&&...) noexcept
804
    {
805
        m_has_value = true;
806
    }
807
    template <typename... Args>
808
    void construct_unexpected(Args&&... args) noexcept(
809
        std::is_nothrow_constructible_v<E, Args...>)
810
    {
811
        scn::detail::construct_at(unexpected_ptr(),
812
                                  std::forward<Args>(args)...);
813
        m_has_value = false;
814
    }
815
816
    static constexpr void destroy_value() noexcept {}
817
    void destroy_unexpected() noexcept
818
    {
819
        scn::detail::destroy_at(unexpected_ptr());
820
    }
821
822
private:
823
    SCN_GCC_PUSH
824
    SCN_GCC_IGNORE("-Wcast-align")
825
    unexpected<E>* unexpected_ptr()
826
    {
827
        return reinterpret_cast<unexpected<E>*>(m_memory);
828
    }
829
    const unexpected<E>* unexpected_ptr() const
830
    {
831
        return reinterpret_cast<const unexpected<E>*>(m_memory);
832
    }
833
    SCN_GCC_POP
834
835
    static constexpr std::size_t required_size = sizeof(unexpected<E>);
836
    static constexpr std::size_t required_alignment = alignof(unexpected<E>);
837
838
    alignas(required_alignment) unsigned char m_memory[required_size];
839
    bool m_has_value;
840
};
841
842
template <typename T, typename U>
843
using is_void_or = std::conditional_t<std::is_void_v<T>, std::true_type, U>;
844
845
template <typename T, typename E, typename Enable = void>
846
struct expected_operations_base;
847
848
template <typename T, typename E>
849
struct SCN_TRIVIAL_ABI expected_operations_base<
850
    T,
851
    E,
852
    std::enable_if_t<(
853
        std::is_void_v<T> ||
854
        std::is_trivially_copyable_v<T>)&&std::is_trivially_copyable_v<E>>>
855
    : expected_storage_base<T, E> {
856
    using expected_storage_base<T, E>::expected_storage_base;
857
};
858
859
template <typename T, typename E>
860
struct SCN_TRIVIAL_ABI expected_operations_base<
861
    T,
862
    E,
863
    std::enable_if_t<!std::is_void_v<T> && (!std::is_trivially_copyable_v<T> ||
864
                                            !std::is_trivially_copyable_v<E>)>>
865
    : expected_storage_base<T, E> {
866
    using expected_storage_base<T, E>::expected_storage_base;
867
868
    expected_operations_base(const expected_operations_base& other) noexcept(
869
        std::is_nothrow_copy_constructible_v<T> &&
870
        std::is_nothrow_copy_constructible_v<E>)
871
        : expected_storage_base<T, E>(deferred_init_tag)
872
    {
873
        construct_common(other);
874
    }
875
    expected_operations_base(expected_operations_base&& other) noexcept(
876
        std::is_nothrow_move_constructible_v<T> &&
877
        std::is_nothrow_move_constructible_v<E>)
878
        : expected_storage_base<T, E>(deferred_init_tag)
879
    {
880
        construct_common(std::move(other));
881
    }
882
883
    expected_operations_base& operator=(const expected_operations_base& other)
884
    // gcc 11 and lower evaluate noexcept in a weird context
885
#if SCN_GCC && SCN_GCC < SCN_COMPILER(12, 0, 0)
886
        noexcept(noexcept(
887
            SCN_DECLVAL(expected_operations_base&).assign_common(other)))
888
#else
889
        noexcept(noexcept(assign_common(other)))
890
#endif
891
    {
892
        assign_common(other);
893
        return *this;
894
    }
895
    expected_operations_base& operator=(expected_operations_base&& other)
896
#if SCN_GCC && SCN_GCC < SCN_COMPILER(12, 0, 0)
897
        noexcept(noexcept(SCN_DECLVAL(expected_operations_base&)
898
                              .assign_common(std::move(other))))
899
#else
900
        noexcept(noexcept(assign_common(std::move(other))))
901
#endif
902
147k
    {
903
147k
        assign_common(std::move(other));
904
147k
        return *this;
905
147k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v4::scan_error, void>&&)
Line
Count
Source
902
5.36k
    {
903
5.36k
        assign_common(std::move(other));
904
5.36k
        return *this;
905
5.36k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, void>&&)
Line
Count
Source
902
5.62k
    {
903
5.62k
        assign_common(std::move(other));
904
5.62k
        return *this;
905
5.62k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, void>&&)
Line
Count
Source
902
5.62k
    {
903
5.62k
        assign_common(std::move(other));
904
5.62k
        return *this;
905
5.62k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v4::scan_error, void>&&)
Line
Count
Source
902
5.62k
    {
903
5.62k
        assign_common(std::move(other));
904
5.62k
        return *this;
905
5.62k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v4::scan_error, void>&&)
Line
Count
Source
902
5.62k
    {
903
5.62k
        assign_common(std::move(other));
904
5.62k
        return *this;
905
5.62k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v4::scan_error, void>&&)
Line
Count
Source
902
5.62k
    {
903
5.62k
        assign_common(std::move(other));
904
5.62k
        return *this;
905
5.62k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Line
Count
Source
902
5.00k
    {
903
5.00k
        assign_common(std::move(other));
904
5.00k
        return *this;
905
5.00k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, void>&&)
Line
Count
Source
902
5.00k
    {
903
5.00k
        assign_common(std::move(other));
904
5.00k
        return *this;
905
5.00k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v4::scan_error, void>&&)
Line
Count
Source
902
5.00k
    {
903
5.00k
        assign_common(std::move(other));
904
5.00k
        return *this;
905
5.00k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v4::scan_error, void>&&)
Line
Count
Source
902
11.0k
    {
903
11.0k
        assign_common(std::move(other));
904
11.0k
        return *this;
905
11.0k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, void>&&)
Line
Count
Source
902
11.2k
    {
903
11.2k
        assign_common(std::move(other));
904
11.2k
        return *this;
905
11.2k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, void>&&)
Line
Count
Source
902
11.2k
    {
903
11.2k
        assign_common(std::move(other));
904
11.2k
        return *this;
905
11.2k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v4::scan_error, void>&&)
Line
Count
Source
902
11.2k
    {
903
11.2k
        assign_common(std::move(other));
904
11.2k
        return *this;
905
11.2k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v4::scan_error, void>&&)
Line
Count
Source
902
11.2k
    {
903
11.2k
        assign_common(std::move(other));
904
11.2k
        return *this;
905
11.2k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v4::scan_error, void>&&)
Line
Count
Source
902
11.2k
    {
903
11.2k
        assign_common(std::move(other));
904
11.2k
        return *this;
905
11.2k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Line
Count
Source
902
10.7k
    {
903
10.7k
        assign_common(std::move(other));
904
10.7k
        return *this;
905
10.7k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, void>&&)
Line
Count
Source
902
10.7k
    {
903
10.7k
        assign_common(std::move(other));
904
10.7k
        return *this;
905
10.7k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v4::scan_error, void>&&)
Line
Count
Source
902
10.7k
    {
903
10.7k
        assign_common(std::move(other));
904
10.7k
        return *this;
905
10.7k
    }
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
906
907
    ~expected_operations_base() = default;
908
909
private:
910
    template <typename Other>
911
    void construct_common(Other&& other) noexcept(
912
        noexcept(SCN_DECLVAL(expected_storage_base<T, E>)
913
                     .construct(std::forward<Other>(other).get_value())) &&
914
        noexcept(SCN_DECLVAL(expected_storage_base<T, E>)
915
                     .construct_unexpected(
916
                         std::forward<Other>(other).get_unexpected())))
917
0
    {
918
0
        if (other.has_value()) {
919
0
            this->construct(std::forward<Other>(other).get_value());
920
0
        }
921
0
        else {
922
0
            this->construct_unexpected(
923
0
                std::forward<Other>(other).get_unexpected());
924
0
        }
925
0
    }
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
926
927
    template <typename Other>
928
    void assign_common(Other&& other)
929
#if SCN_GCC && SCN_GCC < SCN_COMPILER(12, 0, 0)
930
        noexcept(
931
            noexcept(SCN_DECLVAL(expected_operations_base&)
932
                         .reassign_value(std::forward<Other>(other))) &&
933
            noexcept(SCN_DECLVAL(expected_operations_base&)
934
                         .reassign_unexpected(std::forward<Other>(other))) &&
935
            noexcept(SCN_DECLVAL(expected_operations_base&)
936
                         .assign_value_over_unexpected(
937
                             std::forward<Other>(other))) &&
938
            noexcept(
939
                SCN_DECLVAL(expected_operations_base&)
940
                    .assign_unexpected_over_value(std::forward<Other>(other))))
941
#else
942
        noexcept(
943
            noexcept(reassign_value(std::forward<Other>(other))) &&
944
            noexcept(reassign_unexpected(std::forward<Other>(other))) &&
945
            noexcept(
946
                assign_value_over_unexpected(std::forward<Other>(other))) &&
947
            noexcept(assign_unexpected_over_value(std::forward<Other>(other))))
948
#endif
949
147k
    {
950
147k
        if (this->has_value()) {
951
147k
            if (other.has_value()) {
952
0
                return reassign_value(std::forward<Other>(other));
953
0
            }
954
147k
            return assign_unexpected_over_value(std::forward<Other>(other));
955
147k
        }
956
957
0
        if (other.has_value()) {
958
0
            return assign_value_over_unexpected(std::forward<Other>(other));
959
0
        }
960
0
        return reassign_unexpected(std::forward<Other>(other));
961
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v4::scan_error, void>&&)
Line
Count
Source
949
5.36k
    {
950
5.36k
        if (this->has_value()) {
951
5.36k
            if (other.has_value()) {
952
0
                return reassign_value(std::forward<Other>(other));
953
0
            }
954
5.36k
            return assign_unexpected_over_value(std::forward<Other>(other));
955
5.36k
        }
956
957
0
        if (other.has_value()) {
958
0
            return assign_value_over_unexpected(std::forward<Other>(other));
959
0
        }
960
0
        return reassign_unexpected(std::forward<Other>(other));
961
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, void>&&)
Line
Count
Source
949
5.62k
    {
950
5.62k
        if (this->has_value()) {
951
5.62k
            if (other.has_value()) {
952
0
                return reassign_value(std::forward<Other>(other));
953
0
            }
954
5.62k
            return assign_unexpected_over_value(std::forward<Other>(other));
955
5.62k
        }
956
957
0
        if (other.has_value()) {
958
0
            return assign_value_over_unexpected(std::forward<Other>(other));
959
0
        }
960
0
        return reassign_unexpected(std::forward<Other>(other));
961
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, void>&&)
Line
Count
Source
949
5.62k
    {
950
5.62k
        if (this->has_value()) {
951
5.62k
            if (other.has_value()) {
952
0
                return reassign_value(std::forward<Other>(other));
953
0
            }
954
5.62k
            return assign_unexpected_over_value(std::forward<Other>(other));
955
5.62k
        }
956
957
0
        if (other.has_value()) {
958
0
            return assign_value_over_unexpected(std::forward<Other>(other));
959
0
        }
960
0
        return reassign_unexpected(std::forward<Other>(other));
961
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v4::scan_error, void>&&)
Line
Count
Source
949
5.62k
    {
950
5.62k
        if (this->has_value()) {
951
5.62k
            if (other.has_value()) {
952
0
                return reassign_value(std::forward<Other>(other));
953
0
            }
954
5.62k
            return assign_unexpected_over_value(std::forward<Other>(other));
955
5.62k
        }
956
957
0
        if (other.has_value()) {
958
0
            return assign_value_over_unexpected(std::forward<Other>(other));
959
0
        }
960
0
        return reassign_unexpected(std::forward<Other>(other));
961
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v4::scan_error, void>&&)
Line
Count
Source
949
5.62k
    {
950
5.62k
        if (this->has_value()) {
951
5.62k
            if (other.has_value()) {
952
0
                return reassign_value(std::forward<Other>(other));
953
0
            }
954
5.62k
            return assign_unexpected_over_value(std::forward<Other>(other));
955
5.62k
        }
956
957
0
        if (other.has_value()) {
958
0
            return assign_value_over_unexpected(std::forward<Other>(other));
959
0
        }
960
0
        return reassign_unexpected(std::forward<Other>(other));
961
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v4::scan_error, void>&&)
Line
Count
Source
949
5.62k
    {
950
5.62k
        if (this->has_value()) {
951
5.62k
            if (other.has_value()) {
952
0
                return reassign_value(std::forward<Other>(other));
953
0
            }
954
5.62k
            return assign_unexpected_over_value(std::forward<Other>(other));
955
5.62k
        }
956
957
0
        if (other.has_value()) {
958
0
            return assign_value_over_unexpected(std::forward<Other>(other));
959
0
        }
960
0
        return reassign_unexpected(std::forward<Other>(other));
961
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Line
Count
Source
949
5.00k
    {
950
5.00k
        if (this->has_value()) {
951
5.00k
            if (other.has_value()) {
952
0
                return reassign_value(std::forward<Other>(other));
953
0
            }
954
5.00k
            return assign_unexpected_over_value(std::forward<Other>(other));
955
5.00k
        }
956
957
0
        if (other.has_value()) {
958
0
            return assign_value_over_unexpected(std::forward<Other>(other));
959
0
        }
960
0
        return reassign_unexpected(std::forward<Other>(other));
961
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, void>&&)
Line
Count
Source
949
5.00k
    {
950
5.00k
        if (this->has_value()) {
951
5.00k
            if (other.has_value()) {
952
0
                return reassign_value(std::forward<Other>(other));
953
0
            }
954
5.00k
            return assign_unexpected_over_value(std::forward<Other>(other));
955
5.00k
        }
956
957
0
        if (other.has_value()) {
958
0
            return assign_value_over_unexpected(std::forward<Other>(other));
959
0
        }
960
0
        return reassign_unexpected(std::forward<Other>(other));
961
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v4::scan_error, void>&&)
Line
Count
Source
949
5.00k
    {
950
5.00k
        if (this->has_value()) {
951
5.00k
            if (other.has_value()) {
952
0
                return reassign_value(std::forward<Other>(other));
953
0
            }
954
5.00k
            return assign_unexpected_over_value(std::forward<Other>(other));
955
5.00k
        }
956
957
0
        if (other.has_value()) {
958
0
            return assign_value_over_unexpected(std::forward<Other>(other));
959
0
        }
960
0
        return reassign_unexpected(std::forward<Other>(other));
961
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v4::scan_error, void>&&)
Line
Count
Source
949
11.0k
    {
950
11.0k
        if (this->has_value()) {
951
11.0k
            if (other.has_value()) {
952
0
                return reassign_value(std::forward<Other>(other));
953
0
            }
954
11.0k
            return assign_unexpected_over_value(std::forward<Other>(other));
955
11.0k
        }
956
957
0
        if (other.has_value()) {
958
0
            return assign_value_over_unexpected(std::forward<Other>(other));
959
0
        }
960
0
        return reassign_unexpected(std::forward<Other>(other));
961
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, void>&&)
Line
Count
Source
949
11.2k
    {
950
11.2k
        if (this->has_value()) {
951
11.2k
            if (other.has_value()) {
952
0
                return reassign_value(std::forward<Other>(other));
953
0
            }
954
11.2k
            return assign_unexpected_over_value(std::forward<Other>(other));
955
11.2k
        }
956
957
0
        if (other.has_value()) {
958
0
            return assign_value_over_unexpected(std::forward<Other>(other));
959
0
        }
960
0
        return reassign_unexpected(std::forward<Other>(other));
961
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, void>&&)
Line
Count
Source
949
11.2k
    {
950
11.2k
        if (this->has_value()) {
951
11.2k
            if (other.has_value()) {
952
0
                return reassign_value(std::forward<Other>(other));
953
0
            }
954
11.2k
            return assign_unexpected_over_value(std::forward<Other>(other));
955
11.2k
        }
956
957
0
        if (other.has_value()) {
958
0
            return assign_value_over_unexpected(std::forward<Other>(other));
959
0
        }
960
0
        return reassign_unexpected(std::forward<Other>(other));
961
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v4::scan_error, void>&&)
Line
Count
Source
949
11.2k
    {
950
11.2k
        if (this->has_value()) {
951
11.2k
            if (other.has_value()) {
952
0
                return reassign_value(std::forward<Other>(other));
953
0
            }
954
11.2k
            return assign_unexpected_over_value(std::forward<Other>(other));
955
11.2k
        }
956
957
0
        if (other.has_value()) {
958
0
            return assign_value_over_unexpected(std::forward<Other>(other));
959
0
        }
960
0
        return reassign_unexpected(std::forward<Other>(other));
961
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v4::scan_error, void>&&)
Line
Count
Source
949
11.2k
    {
950
11.2k
        if (this->has_value()) {
951
11.2k
            if (other.has_value()) {
952
0
                return reassign_value(std::forward<Other>(other));
953
0
            }
954
11.2k
            return assign_unexpected_over_value(std::forward<Other>(other));
955
11.2k
        }
956
957
0
        if (other.has_value()) {
958
0
            return assign_value_over_unexpected(std::forward<Other>(other));
959
0
        }
960
0
        return reassign_unexpected(std::forward<Other>(other));
961
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v4::scan_error, void>&&)
Line
Count
Source
949
11.2k
    {
950
11.2k
        if (this->has_value()) {
951
11.2k
            if (other.has_value()) {
952
0
                return reassign_value(std::forward<Other>(other));
953
0
            }
954
11.2k
            return assign_unexpected_over_value(std::forward<Other>(other));
955
11.2k
        }
956
957
0
        if (other.has_value()) {
958
0
            return assign_value_over_unexpected(std::forward<Other>(other));
959
0
        }
960
0
        return reassign_unexpected(std::forward<Other>(other));
961
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Line
Count
Source
949
10.7k
    {
950
10.7k
        if (this->has_value()) {
951
10.7k
            if (other.has_value()) {
952
0
                return reassign_value(std::forward<Other>(other));
953
0
            }
954
10.7k
            return assign_unexpected_over_value(std::forward<Other>(other));
955
10.7k
        }
956
957
0
        if (other.has_value()) {
958
0
            return assign_value_over_unexpected(std::forward<Other>(other));
959
0
        }
960
0
        return reassign_unexpected(std::forward<Other>(other));
961
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, void>&&)
Line
Count
Source
949
10.7k
    {
950
10.7k
        if (this->has_value()) {
951
10.7k
            if (other.has_value()) {
952
0
                return reassign_value(std::forward<Other>(other));
953
0
            }
954
10.7k
            return assign_unexpected_over_value(std::forward<Other>(other));
955
10.7k
        }
956
957
0
        if (other.has_value()) {
958
0
            return assign_value_over_unexpected(std::forward<Other>(other));
959
0
        }
960
0
        return reassign_unexpected(std::forward<Other>(other));
961
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v4::scan_error, void>&&)
Line
Count
Source
949
10.7k
    {
950
10.7k
        if (this->has_value()) {
951
10.7k
            if (other.has_value()) {
952
0
                return reassign_value(std::forward<Other>(other));
953
0
            }
954
10.7k
            return assign_unexpected_over_value(std::forward<Other>(other));
955
10.7k
        }
956
957
0
        if (other.has_value()) {
958
0
            return assign_value_over_unexpected(std::forward<Other>(other));
959
0
        }
960
0
        return reassign_unexpected(std::forward<Other>(other));
961
0
    }
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
962
963
    template <typename Other>
964
    void reassign_value(Other&& other) noexcept(
965
        std::is_nothrow_assignable_v<
966
            T,
967
            decltype(std::forward<Other>(other).get_value())>)
968
0
    {
969
0
        this->get_value() = std::forward<Other>(other).get_value();
970
0
    }
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
971
972
    template <typename Other>
973
    void reassign_unexpected(Other&& other) noexcept(
974
        std::is_nothrow_assignable_v<
975
            E,
976
            decltype(std::forward<Other>(other).get_unexpected())>)
977
0
    {
978
0
        this->get_unexpected() = std::forward<Other>(other).get_unexpected();
979
0
    }
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
980
981
#if SCN_HAS_EXCEPTIONS
982
    void assign_value_over_unexpected(
983
        const expected_operations_base&
984
            other) noexcept(std::is_nothrow_copy_constructible_v<T> ||
985
                            std::is_nothrow_move_constructible_v<T>)
986
    {
987
        if constexpr (std::is_nothrow_copy_constructible_v<T>) {
988
            this->destroy_unexpected();
989
            this->construct(other.get_value());
990
        }
991
        else if constexpr (std::is_nothrow_move_constructible_v<T>) {
992
            T tmp = other.get_value();
993
            this->destroy_unexpected();
994
            this->construct(std::move(tmp));
995
        }
996
        else {
997
            auto tmp = std::move(this->get_unexpecetd());
998
            this->destroy_unexpected();
999
1000
            try {
1001
                this->construct(other.get());
1002
            }
1003
            catch (...) {
1004
                this->construct_unexpected(std::move(tmp));
1005
                throw;
1006
            }
1007
        }
1008
    }
1009
1010
    void
1011
    assign_value_over_unexpected(expected_operations_base&& other) noexcept(
1012
        std::is_nothrow_move_constructible_v<T>)
1013
0
    {
1014
0
        if constexpr (std::is_nothrow_move_constructible_v<T>) {
1015
0
            this->destroy_unexpected();
1016
0
            this->construct(std::move(other).get_value());
1017
        }
1018
        else {
1019
            auto tmp = std::move(this->get_unexpected());
1020
            this->destroy_unexpected();
1021
1022
            try {
1023
                this->construct(std::move(other).get_value());
1024
            }
1025
            catch (...) {
1026
                this->construct_unexpected(std::move(tmp));
1027
                throw;
1028
            }
1029
        }
1030
0
    }
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
1031
#else
1032
    template <typename Other>
1033
    void assing_value_over_unexpected(Other&& other) noexcept
1034
    {
1035
        this->destroy_unexpected();
1036
        this->construct_value(std::forward<Other>(other).get_value());
1037
    }
1038
#endif
1039
1040
    template <typename Other>
1041
    void assign_unexpected_over_value(Other&& other) noexcept(
1042
        std::is_nothrow_constructible_v<
1043
            E,
1044
            decltype(std::forward<Other>(other).get_unexpected())>)
1045
147k
    {
1046
147k
        this->destroy_value();
1047
147k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1048
147k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v4::scan_error, void>&&)
Line
Count
Source
1045
5.36k
    {
1046
5.36k
        this->destroy_value();
1047
5.36k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1048
5.36k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, void>&&)
Line
Count
Source
1045
5.62k
    {
1046
5.62k
        this->destroy_value();
1047
5.62k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1048
5.62k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, void>&&)
Line
Count
Source
1045
5.62k
    {
1046
5.62k
        this->destroy_value();
1047
5.62k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1048
5.62k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v4::scan_error, void>&&)
Line
Count
Source
1045
5.62k
    {
1046
5.62k
        this->destroy_value();
1047
5.62k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1048
5.62k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v4::scan_error, void>&&)
Line
Count
Source
1045
5.62k
    {
1046
5.62k
        this->destroy_value();
1047
5.62k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1048
5.62k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v4::scan_error, void>&&)
Line
Count
Source
1045
5.62k
    {
1046
5.62k
        this->destroy_value();
1047
5.62k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1048
5.62k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Line
Count
Source
1045
5.00k
    {
1046
5.00k
        this->destroy_value();
1047
5.00k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1048
5.00k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, void>&&)
Line
Count
Source
1045
5.00k
    {
1046
5.00k
        this->destroy_value();
1047
5.00k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1048
5.00k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v4::scan_error, void>&&)
Line
Count
Source
1045
5.00k
    {
1046
5.00k
        this->destroy_value();
1047
5.00k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1048
5.00k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v4::scan_error, void>&&)
Line
Count
Source
1045
11.0k
    {
1046
11.0k
        this->destroy_value();
1047
11.0k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1048
11.0k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, void>&&)
Line
Count
Source
1045
11.2k
    {
1046
11.2k
        this->destroy_value();
1047
11.2k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1048
11.2k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, void>&&)
Line
Count
Source
1045
11.2k
    {
1046
11.2k
        this->destroy_value();
1047
11.2k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1048
11.2k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v4::scan_error, void>&&)
Line
Count
Source
1045
11.2k
    {
1046
11.2k
        this->destroy_value();
1047
11.2k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1048
11.2k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v4::scan_error, void>&&)
Line
Count
Source
1045
11.2k
    {
1046
11.2k
        this->destroy_value();
1047
11.2k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1048
11.2k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v4::scan_error, void>&&)
Line
Count
Source
1045
11.2k
    {
1046
11.2k
        this->destroy_value();
1047
11.2k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1048
11.2k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Line
Count
Source
1045
10.7k
    {
1046
10.7k
        this->destroy_value();
1047
10.7k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1048
10.7k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, void>&&)
Line
Count
Source
1045
10.7k
    {
1046
10.7k
        this->destroy_value();
1047
10.7k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1048
10.7k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v4::scan_error, void>&&)
Line
Count
Source
1045
10.7k
    {
1046
10.7k
        this->destroy_value();
1047
10.7k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1048
10.7k
    }
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
1049
};
1050
1051
template <typename E>
1052
struct SCN_TRIVIAL_ABI
1053
    expected_operations_base<void,
1054
                             E,
1055
                             std::enable_if_t<!std::is_trivially_copyable_v<E>>>
1056
    : expected_storage_base<void, E> {
1057
    using expected_storage_base<void, E>::expected_storage_base;
1058
1059
    expected_operations_base(const expected_operations_base& other) noexcept(
1060
        std::is_nothrow_copy_constructible_v<E>)
1061
        : expected_storage_base<void, E>(deferred_init_tag)
1062
    {
1063
        construct_common(other);
1064
    }
1065
    expected_operations_base(expected_operations_base&& other) noexcept(
1066
        std::is_nothrow_move_constructible_v<E>)
1067
        : expected_storage_base<void, E>(deferred_init_tag)
1068
    {
1069
        construct_common(std::move(other));
1070
    }
1071
1072
    expected_operations_base& operator=(const expected_operations_base& other)
1073
    // gcc 11 and lower evaluate noexcept in a weird context
1074
#if SCN_GCC && SCN_GCC < SCN_COMPILER(12, 0, 0)
1075
        noexcept(noexcept(
1076
            SCN_DECLVAL(expected_operations_base&).assign_common(other)))
1077
#else
1078
        noexcept(noexcept(assign_common(other)))
1079
#endif
1080
    {
1081
        assign_common(other);
1082
        return *this;
1083
    }
1084
    expected_operations_base& operator=(expected_operations_base&& other)
1085
#if SCN_GCC && SCN_GCC < SCN_COMPILER(12, 0, 0)
1086
        noexcept(noexcept(SCN_DECLVAL(expected_operations_base&)
1087
                              .assign_common(std::move(other))))
1088
#else
1089
        noexcept(noexcept(assign_common(std::move(other))))
1090
#endif
1091
    {
1092
        assign_common(std::move(other));
1093
        return *this;
1094
    }
1095
1096
    ~expected_operations_base() = default;
1097
1098
private:
1099
    template <typename Other>
1100
    void construct_common(Other&& other) noexcept(
1101
        noexcept(expected_storage_base<void, E>::construct_unexpected(
1102
            std::forward<Other>(other).get_unexpected())))
1103
    {
1104
        if (other.has_value()) {
1105
            this->construct();
1106
        }
1107
        else {
1108
            this->construct_unexpected(
1109
                std::forward<Other>(other).get_unexpected());
1110
        }
1111
    }
1112
1113
    template <typename Other>
1114
    void assign_common(Other&& other)
1115
#if SCN_GCC && SCN_GCC < SCN_COMPILER(12, 0, 0)
1116
        noexcept(
1117
            noexcept(SCN_DECLVAL(expected_operations_base&)
1118
                         .reassign_unexpected(std::forward<Other>(other))) &&
1119
            noexcept(
1120
                SCN_DECLVAL(expected_operations_base&)
1121
                    .assign_unexpected_over_value(std::forward<Other>(other))))
1122
#else
1123
        noexcept(
1124
            noexcept(reassign_unexpected(std::forward<Other>(other))) &&
1125
            noexcept(assign_unexpected_over_value(std::forward<Other>(other))))
1126
#endif
1127
    {
1128
        if (this->has_value()) {
1129
            if (other.has_value()) {
1130
                return reassign_value();
1131
            }
1132
            return assign_unexpected_over_value(std::forward<Other>(other));
1133
        }
1134
1135
        if (other.has_value()) {
1136
            return assign_value_over_unexpected();
1137
        }
1138
        return reassign_unexpected(std::forward<Other>(other));
1139
    }
1140
1141
    void reassign_value() noexcept {}
1142
1143
    template <typename Other>
1144
    void reassign_unexpected(Other&& other) noexcept(
1145
        std::is_nothrow_assignable_v<
1146
            E,
1147
            decltype(std::forward<Other>(other).get_unexpected())>)
1148
    {
1149
        this->get_unexpected() = std::forward<Other>(other).get_unexpected();
1150
    }
1151
1152
    void assign_value_over_unexpected() noexcept
1153
    {
1154
        this->destroy_unexpected();
1155
        this->construct();
1156
    }
1157
1158
    template <typename Other>
1159
    void assign_unexpected_over_value(Other&& other) noexcept(
1160
        std::is_nothrow_constructible_v<
1161
            E,
1162
            decltype(std::forward<Other>(other).get_unexpected())>)
1163
    {
1164
        this->destroy_value();
1165
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1166
    }
1167
};
1168
1169
/*
1170
 * Base class trickery to conditionally mark copy and move
1171
 * constructors of an expected as =deleted.
1172
 *
1173
 * We need to do this, because otherwise utilities like
1174
 * std::is_copy_constructible wouldn't work for expected: the
1175
 * constructors need to be explicitly =deleted, not just cause a
1176
 * compiler error when trying to copy a value of a non-copyable
1177
 * type.
1178
 *
1179
 * Rationale for doing this with base classes is above.
1180
 */
1181
template <
1182
    typename T,
1183
    typename E,
1184
    bool EnableCopy = ((std::is_copy_constructible_v<T> ||
1185
                        std::is_void_v<T>)&&std::is_copy_constructible_v<E>),
1186
    bool EnableMove = ((std::is_move_constructible_v<T> ||
1187
                        std::is_void_v<T>)&&std::is_move_constructible_v<E>)>
1188
struct expected_delete_ctor_base;
1189
1190
// Implementation for types that are both copy and move
1191
// constructible: Copy and move constructors are =defaulted
1192
template <typename T, typename E>
1193
struct SCN_TRIVIAL_ABI expected_delete_ctor_base<T, E, true, true> {
1194
    expected_delete_ctor_base() = default;
1195
    expected_delete_ctor_base& operator=(const expected_delete_ctor_base&) =
1196
        default;
1197
    expected_delete_ctor_base& operator=(expected_delete_ctor_base&&) = default;
1198
    ~expected_delete_ctor_base() = default;
1199
1200
    expected_delete_ctor_base(const expected_delete_ctor_base&) = default;
1201
    expected_delete_ctor_base(expected_delete_ctor_base&&) = default;
1202
};
1203
1204
// Implementation for types that are neither copy nor move
1205
// constructible: Copy and move constructors are =deleted
1206
template <typename T, typename E>
1207
struct SCN_TRIVIAL_ABI expected_delete_ctor_base<T, E, false, false> {
1208
    expected_delete_ctor_base() = default;
1209
    expected_delete_ctor_base& operator=(const expected_delete_ctor_base&) =
1210
        default;
1211
    expected_delete_ctor_base& operator=(expected_delete_ctor_base&&) = default;
1212
    ~expected_delete_ctor_base() = default;
1213
1214
    expected_delete_ctor_base(const expected_delete_ctor_base&) = delete;
1215
    expected_delete_ctor_base(expected_delete_ctor_base&&) = delete;
1216
};
1217
1218
// Implementation for types that are move constructible, but not
1219
// copy constructible Copy constructor is =deleted, but move
1220
// constructor is =defaulted
1221
template <typename T, typename E>
1222
struct SCN_TRIVIAL_ABI expected_delete_ctor_base<T, E, false, true> {
1223
    expected_delete_ctor_base() = default;
1224
    expected_delete_ctor_base& operator=(const expected_delete_ctor_base&) =
1225
        default;
1226
    expected_delete_ctor_base& operator=(expected_delete_ctor_base&&) = default;
1227
    ~expected_delete_ctor_base() = default;
1228
1229
    expected_delete_ctor_base(const expected_delete_ctor_base&) = delete;
1230
    expected_delete_ctor_base(expected_delete_ctor_base&&) = default;
1231
};
1232
1233
template <typename T, typename E>
1234
struct SCN_TRIVIAL_ABI expected_delete_ctor_base<T, E, true, false> {
1235
    static_assert(dependent_false<T>::value,
1236
                  "Nonsensical type: copy constructible, but not move "
1237
                  "constructible");
1238
};
1239
1240
// Same as above, but for assignment
1241
template <
1242
    typename T,
1243
    typename E,
1244
    bool EnableCopy = ((std::is_copy_constructible_v<T> ||
1245
                        std::is_void_v<T>)&&std::is_copy_constructible_v<E> &&
1246
                       (std::is_copy_assignable_v<T> ||
1247
                        std::is_void_v<T>)&&std::is_copy_assignable_v<E>),
1248
    bool EnableMove = ((std::is_move_constructible_v<T> ||
1249
                        std::is_void_v<T>)&&std::is_move_constructible_v<E> &&
1250
                       (std::is_move_assignable_v<T> ||
1251
                        std::is_void_v<T>)&&std::is_move_assignable_v<E>)>
1252
struct expected_delete_assign_base;
1253
1254
template <typename T, typename E>
1255
struct SCN_TRIVIAL_ABI expected_delete_assign_base<T, E, true, true> {
1256
    expected_delete_assign_base() = default;
1257
    expected_delete_assign_base(const expected_delete_assign_base&) = default;
1258
    expected_delete_assign_base(expected_delete_assign_base&&) = default;
1259
    ~expected_delete_assign_base() = default;
1260
1261
    expected_delete_assign_base& operator=(const expected_delete_assign_base&) =
1262
        default;
1263
    expected_delete_assign_base& operator=(expected_delete_assign_base&&) =
1264
        default;
1265
};
1266
1267
template <typename T, typename E>
1268
struct SCN_TRIVIAL_ABI expected_delete_assign_base<T, E, false, false> {
1269
    expected_delete_assign_base() = default;
1270
    expected_delete_assign_base(const expected_delete_assign_base&) = default;
1271
    expected_delete_assign_base(expected_delete_assign_base&&) = default;
1272
    ~expected_delete_assign_base() = default;
1273
1274
    expected_delete_assign_base& operator=(const expected_delete_assign_base&) =
1275
        delete;
1276
    expected_delete_assign_base& operator=(expected_delete_assign_base&&) =
1277
        delete;
1278
};
1279
1280
template <typename T, typename E>
1281
struct SCN_TRIVIAL_ABI expected_delete_assign_base<T, E, false, true> {
1282
    expected_delete_assign_base() = default;
1283
    expected_delete_assign_base(const expected_delete_assign_base&) = default;
1284
    expected_delete_assign_base(expected_delete_assign_base&&) = default;
1285
    ~expected_delete_assign_base() = default;
1286
1287
    expected_delete_assign_base& operator=(const expected_delete_assign_base&) =
1288
        delete;
1289
    expected_delete_assign_base& operator=(expected_delete_assign_base&&) =
1290
        default;
1291
};
1292
1293
template <typename T, typename E>
1294
struct SCN_TRIVIAL_ABI expected_delete_assign_base<T, E, true, false> {
1295
    static_assert(dependent_false<T>::value,
1296
                  "Nonsensical type: copy assignable, but not move "
1297
                  "assignable");
1298
};
1299
1300
struct non_default_ctor_tag_t {};
1301
1302
/*
1303
 * Same as above, but for the default constructor
1304
 *
1305
 * The constructor taking a non_default_ctor_tag_t is needed, to
1306
 * signal that we're not default constructing.
1307
 */
1308
template <typename T,
1309
          typename E,
1310
          bool = std::is_default_constructible_v<T> || std::is_void_v<T>>
1311
struct SCN_TRIVIAL_ABI expected_default_ctor_base {
1312
    constexpr expected_default_ctor_base() = default;
1313
    constexpr explicit expected_default_ctor_base(
1314
        non_default_ctor_tag_t) noexcept
1315
1.10M
    {
1316
1.10M
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
5.36k
    {
1316
5.36k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
50.6k
    {
1316
50.6k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
5.62k
    {
1316
5.62k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
5.62k
    {
1316
5.62k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
5.62k
    {
1316
5.62k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
5.62k
    {
1316
5.62k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
5.62k
    {
1316
5.62k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
5.00k
    {
1316
5.00k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
5.00k
    {
1316
5.00k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
5.00k
    {
1316
5.00k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
11.0k
    {
1316
11.0k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
101k
    {
1316
101k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
11.2k
    {
1316
11.2k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
11.2k
    {
1316
11.2k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
11.2k
    {
1316
11.2k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
11.2k
    {
1316
11.2k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
11.2k
    {
1316
11.2k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
10.7k
    {
1316
10.7k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
10.7k
    {
1316
10.7k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
10.7k
    {
1316
10.7k
    }
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
scn::v4::detail::expected_default_ctor_base<long, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
155k
    {
1316
155k
    }
scn::v4::detail::expected_default_ctor_base<char const*, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
56.8k
    {
1316
56.8k
    }
scn::v4::detail::expected_default_ctor_base<wchar_t const*, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
38.7k
    {
1316
38.7k
    }
scn::v4::detail::expected_default_ctor_base<void, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
361k
    {
1316
361k
    }
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
scn::v4::detail::expected_default_ctor_base<char const*, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
46.6k
    {
1316
46.6k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
9.81k
    {
1316
9.81k
    }
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
5.23k
    {
1316
5.23k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
10.3k
    {
1316
10.3k
    }
scn::v4::detail::expected_default_ctor_base<std::__1::pair<char const*, long>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
9.31k
    {
1316
9.31k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
8.69k
    {
1316
8.69k
    }
scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
1.42k
    {
1316
1.42k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
1.06k
    {
1316
1.06k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
1.06k
    {
1316
1.06k
    }
scn::v4::detail::expected_default_ctor_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
24
    {
1316
24
    }
scn::v4::detail::expected_default_ctor_base<char const*, scn::v4::impl::parse_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
14.2k
    {
1316
14.2k
    }
scn::v4::detail::expected_default_ctor_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
3.65k
    {
1316
3.65k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
2.73k
    {
1316
2.73k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
2.73k
    {
1316
2.73k
    }
scn::v4::detail::expected_default_ctor_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
20
    {
1316
20
    }
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
366
    {
1316
366
    }
scn::v4::detail::expected_default_ctor_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
916
    {
1316
916
    }
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
scn::v4::detail::expected_default_ctor_base<wchar_t const*, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
19.2k
    {
1316
19.2k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
2.90k
    {
1316
2.90k
    }
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
2.20k
    {
1316
2.20k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
4.58k
    {
1316
4.58k
    }
scn::v4::detail::expected_default_ctor_base<std::__1::pair<wchar_t const*, long>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
6.39k
    {
1316
6.39k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
4.51k
    {
1316
4.51k
    }
scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
754
    {
1316
754
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
572
    {
1316
572
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
572
    {
1316
572
    }
scn::v4::detail::expected_default_ctor_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
48
    {
1316
48
    }
scn::v4::detail::expected_default_ctor_base<wchar_t const*, scn::v4::impl::parse_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
17.7k
    {
1316
17.7k
    }
scn::v4::detail::expected_default_ctor_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
3.65k
    {
1316
3.65k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
2.70k
    {
1316
2.70k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
2.70k
    {
1316
2.70k
    }
scn::v4::detail::expected_default_ctor_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
44
    {
1316
44
    }
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
182
    {
1316
182
    }
scn::v4::detail::expected_default_ctor_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
948
    {
1316
948
    }
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<wchar_t, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
3.13k
    {
1316
3.13k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
2.33k
    {
1316
2.33k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
1.12k
    {
1316
1.12k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
1.12k
    {
1316
1.12k
    }
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
1317
};
1318
template <typename T, typename E>
1319
struct SCN_TRIVIAL_ABI expected_default_ctor_base<T, E, false> {
1320
    constexpr expected_default_ctor_base() = delete;
1321
    constexpr explicit expected_default_ctor_base(
1322
        non_default_ctor_tag_t) noexcept
1323
    {
1324
    }
1325
};
1326
1327
template <typename T>
1328
using remove_cvref_t = std::remove_cv_t<std::remove_reference_t<T>>;
1329
1330
template <typename T>
1331
struct is_expected_impl : std::false_type {};
1332
template <typename T, typename E>
1333
struct is_expected_impl<expected<T, E>> : std::true_type {};
1334
template <typename T>
1335
using is_expected = is_expected_impl<remove_cvref_t<T>>;
1336
1337
template <typename Exp>
1338
using is_exp_void = std::is_void<typename remove_cvref_t<Exp>::value_type>;
1339
1340
template <typename Exp>
1341
using expected_value_type = typename remove_cvref_t<Exp>::value_type;
1342
1343
template <
1344
    typename F,
1345
    typename... Args,
1346
    typename = std::void_t<decltype(SCN_DECLVAL(F&&)(SCN_DECLVAL(Args&&)...))>>
1347
constexpr decltype(auto) trivial_invoke(F&& f, Args&&... args) noexcept(
1348
    noexcept(std::forward<F>(f)(std::forward<Args>(args)...)))
1349
5.77k
{
1350
5.77k
    return std::forward<F>(f)(std::forward<Args>(args)...);
1351
5.77k
}
decltype(auto) scn::v4::detail::trivial_invoke<scn::v4::scan_error (&)(scn::v4::impl::eof_error), scn::v4::impl::eof_error, void>(scn::v4::scan_error (&)(scn::v4::impl::eof_error), scn::v4::impl::eof_error&&)
Line
Count
Source
1349
312
{
1350
312
    return std::forward<F>(f)(std::forward<Args>(args)...);
1351
312
}
decltype(auto) scn::v4::detail::trivial_invoke<scn::v4::impl::parse_error (&)(scn::v4::impl::eof_error), scn::v4::impl::eof_error, void>(scn::v4::impl::parse_error (&)(scn::v4::impl::eof_error), scn::v4::impl::eof_error&&)
Line
Count
Source
1349
984
{
1350
984
    return std::forward<F>(f)(std::forward<Args>(args)...);
1351
984
}
decltype(auto) scn::v4::detail::trivial_invoke<scn::v4::impl::map_parse_error_to_scan_error(scn::v4::scan_error::code, char const*)::{lambda(scn::v4::impl::parse_error)#1}, scn::v4::impl::parse_error, void>(scn::v4::impl::map_parse_error_to_scan_error(scn::v4::scan_error::code, char const*)::{lambda(scn::v4::impl::parse_error)#1}&&, scn::v4::impl::parse_error&&)
Line
Count
Source
1349
1.50k
{
1350
1.50k
    return std::forward<F>(f)(std::forward<Args>(args)...);
1351
1.50k
}
decltype(auto) scn::v4::detail::trivial_invoke<scn::v4::impl::map_parse_error_to_scan_error(scn::v4::scan_error::code, char const*)::{lambda(scn::v4::impl::parse_error)#1}, scn::v4::impl::parse_error&, void>(scn::v4::impl::map_parse_error_to_scan_error(scn::v4::scan_error::code, char const*)::{lambda(scn::v4::impl::parse_error)#1}&&, scn::v4::impl::parse_error&)
Line
Count
Source
1349
2.97k
{
1350
2.97k
    return std::forward<F>(f)(std::forward<Args>(args)...);
1351
2.97k
}
Unexecuted instantiation: decltype(auto) scn::v4::detail::trivial_invoke<scn::v4::scan_error (&)(scn::v4::impl::eof_error), scn::v4::impl::eof_error const&, void>(scn::v4::scan_error (&)(scn::v4::impl::eof_error), scn::v4::impl::eof_error const&)
Unexecuted instantiation: decltype(auto) scn::v4::detail::trivial_invoke<scn::v4::scan_error (&)(scn::v4::impl::eof_error), scn::v4::impl::eof_error&, void>(scn::v4::scan_error (&)(scn::v4::impl::eof_error), scn::v4::impl::eof_error&)
Unexecuted instantiation: decltype(auto) scn::v4::detail::trivial_invoke<scn::v4::impl::parse_error (&)(scn::v4::impl::eof_error), scn::v4::impl::eof_error const&, void>(scn::v4::impl::parse_error (&)(scn::v4::impl::eof_error), scn::v4::impl::eof_error const&)
Unexecuted instantiation: decltype(auto) scn::v4::detail::trivial_invoke<scn::v4::impl::parse_error (&)(scn::v4::impl::eof_error), scn::v4::impl::eof_error&, void>(scn::v4::impl::parse_error (&)(scn::v4::impl::eof_error), scn::v4::impl::eof_error&)
Unexecuted instantiation: decltype(auto) scn::v4::detail::trivial_invoke<scn::v4::impl::map_parse_error_to_scan_error(scn::v4::scan_error::code, char const*)::{lambda(scn::v4::impl::parse_error)#1}, scn::v4::impl::parse_error const&, void>(scn::v4::impl::map_parse_error_to_scan_error(scn::v4::scan_error::code, char const*)::{lambda(scn::v4::impl::parse_error)#1}&&, scn::v4::impl::parse_error const&)
1352
1353
// and_then
1354
1355
template <typename Exp,
1356
          typename F,
1357
          std::enable_if_t<!is_exp_void<Exp>::value>* = nullptr,
1358
          typename Ret = decltype(trivial_invoke(SCN_DECLVAL(F),
1359
                                                 *SCN_DECLVAL(Exp)))>
1360
constexpr auto and_then_impl(Exp&& exp, F&& f) noexcept(
1361
    noexcept(trivial_invoke(std::forward<F>(f), *std::forward<Exp>(exp))) &&
1362
    std::is_nothrow_constructible_v<Ret,
1363
                                    unexpect_t,
1364
                                    decltype(std::forward<Exp>(exp).error())>)
1365
{
1366
    static_assert(is_expected<Ret>::value, "F must return an expected");
1367
1368
    return SCN_LIKELY(exp.has_value())
1369
               ? trivial_invoke(std::forward<F>(f), *std::forward<Exp>(exp))
1370
               : Ret(unexpect, std::forward<Exp>(exp).error());
1371
}
1372
template <typename Exp,
1373
          typename F,
1374
          std::enable_if_t<is_exp_void<Exp>::value>* = nullptr,
1375
          typename Ret = decltype(trivial_invoke(SCN_DECLVAL(F)))>
1376
constexpr auto and_then_impl(Exp&& exp, F&& f) noexcept(
1377
    noexcept(trivial_invoke(std::forward<F>(f))) &&
1378
    std::is_nothrow_constructible_v<Ret,
1379
                                    unexpect_t,
1380
                                    decltype(std::forward<Exp>(exp).error())>)
1381
{
1382
    static_assert(is_expected<Ret>::value, "F must return an expected");
1383
1384
    return SCN_LIKELY(exp.has_value())
1385
               ? trivial_invoke(std::forward<F>(f))
1386
               : Ret(unexpect, std::forward<Exp>(exp).error());
1387
}
1388
1389
// or_else
1390
1391
template <typename Exp,
1392
          typename F,
1393
          typename Ret = decltype(trivial_invoke(SCN_DECLVAL(F),
1394
                                                 SCN_DECLVAL(Exp).error()))>
1395
constexpr auto or_else_impl(Exp&& exp, F&& f) noexcept(
1396
    noexcept(trivial_invoke(std::forward<F>(f),
1397
                            std::forward<Exp>(exp).error())) &&
1398
    std::is_nothrow_constructible_v<Ret, decltype(std::forward<Exp>(exp))>)
1399
{
1400
    static_assert(is_expected<Ret>::value, "F must return an expected");
1401
1402
    return SCN_LIKELY(exp.has_value())
1403
               ? Ret(std::forward<Exp>(exp))
1404
               : trivial_invoke(std::forward<F>(f),
1405
                                std::forward<Exp>(exp).error());
1406
}
1407
1408
// transform
1409
1410
template <typename Exp,
1411
          typename F,
1412
          std::enable_if_t<!is_exp_void<Exp>::value>* = nullptr,
1413
          typename Ret = decltype(trivial_invoke(SCN_DECLVAL(F),
1414
                                                 *SCN_DECLVAL(Exp)))>
1415
constexpr auto transform_impl(Exp&& exp, F&& f)
1416
{
1417
    using result = typename remove_cvref_t<Exp>::template rebind<Ret>;
1418
    if constexpr (std::is_void_v<Ret>) {
1419
        if (SCN_LIKELY(exp.has_value())) {
1420
            trivial_invoke(std::forward<F>(f), *std::forward<Exp>(exp));
1421
            return result();
1422
        }
1423
        return result(unexpect, std::forward<Exp>(exp).error());
1424
    }
1425
    else {
1426
        return SCN_LIKELY(exp.has_value())
1427
                   ? result(trivial_invoke(std::forward<F>(f),
1428
                                           *std::forward<Exp>(exp)))
1429
                   : result(unexpect, std::forward<Exp>(exp).error());
1430
    }
1431
}
1432
template <typename Exp,
1433
          typename F,
1434
          std::enable_if_t<is_exp_void<Exp>::value>* = nullptr,
1435
          typename Ret = decltype(trivial_invoke(SCN_DECLVAL(F)))>
1436
constexpr auto transform_impl(Exp&& exp, F&& f)
1437
{
1438
    using result = typename remove_cvref_t<Exp>::template rebind<Ret>;
1439
    if constexpr (std::is_void_v<Ret>) {
1440
        if (SCN_LIKELY(exp.has_value())) {
1441
            trivial_invoke(std::forward<F>(f));
1442
            return result();
1443
        }
1444
        return result(unexpect, std::forward<Exp>(exp).error());
1445
    }
1446
    else {
1447
        return SCN_LIKELY(exp.has_value())
1448
                   ? result(trivial_invoke(std::forward<F>(f)))
1449
                   : result(unexpect, std::forward<Exp>(exp).error());
1450
    }
1451
}
1452
1453
// transform_error
1454
1455
template <typename Exp,
1456
          typename F,
1457
          std::enable_if_t<!is_exp_void<Exp>::value>* = nullptr,
1458
          typename Ret = decltype(trivial_invoke(SCN_DECLVAL(F),
1459
                                                 SCN_DECLVAL(Exp).error()))>
1460
constexpr auto transform_error_impl(Exp&& exp, F&& f)
1461
46.6k
{
1462
    if constexpr (std::is_void_v<Ret>) {
1463
        using result = expected<expected_value_type<Exp>, monostate>;
1464
        if (SCN_LIKELY(exp.has_value())) {
1465
            return result(*std::forward<Exp>(exp));
1466
        }
1467
1468
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1469
        return result(unexpect, monostate{});
1470
    }
1471
46.6k
    else {
1472
46.6k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1473
46.6k
        return SCN_LIKELY(exp.has_value())
1474
46.6k
                   ? result(*std::forward<Exp>(exp))
1475
46.6k
                   : result(unexpect,
1476
5.77k
                            trivial_invoke(std::forward<F>(f),
1477
5.77k
                                           std::forward<Exp>(exp).error()));
1478
46.6k
    }
1479
46.6k
}
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEEERFNS0_10scan_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSF_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEEERFNS0_10scan_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSF_OT0_
_ZN3scn2v46detail20transform_error_implINS0_8expectedIPKcNS0_4impl9eof_errorEEERFNS0_10scan_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ES9_EEDaOSE_OT0_
Line
Count
Source
1461
8.43k
{
1462
    if constexpr (std::is_void_v<Ret>) {
1463
        using result = expected<expected_value_type<Exp>, monostate>;
1464
        if (SCN_LIKELY(exp.has_value())) {
1465
            return result(*std::forward<Exp>(exp));
1466
        }
1467
1468
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1469
        return result(unexpect, monostate{});
1470
    }
1471
8.43k
    else {
1472
8.43k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1473
8.43k
        return SCN_LIKELY(exp.has_value())
1474
8.43k
                   ? result(*std::forward<Exp>(exp))
1475
8.43k
                   : result(unexpect,
1476
0
                            trivial_invoke(std::forward<F>(f),
1477
0
                                           std::forward<Exp>(exp).error()));
1478
8.43k
    }
1479
8.43k
}
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_INS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESM_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESO_EEDaOST_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS0_10scan_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSK_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS4_11parse_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSK_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS4_9eof_errorEEERFNS0_10scan_errorESF_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESH_EEDaOSM_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSD_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSM_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEEERFNS7_11parse_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSF_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27parse_integer_prefix_resultINS1_17basic_scan_bufferIcE16forward_iteratorEEENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEEEZNS7_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS8_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSH_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKcS8_EENS4_15take_width_viewINSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSB_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESM_EEDaOSQ_OT0_
_ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_
Line
Count
Source
1461
890
{
1462
    if constexpr (std::is_void_v<Ret>) {
1463
        using result = expected<expected_value_type<Exp>, monostate>;
1464
        if (SCN_LIKELY(exp.has_value())) {
1465
            return result(*std::forward<Exp>(exp));
1466
        }
1467
1468
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1469
        return result(unexpect, monostate{});
1470
    }
1471
890
    else {
1472
890
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1473
890
        return SCN_LIKELY(exp.has_value())
1474
890
                   ? result(*std::forward<Exp>(exp))
1475
890
                   : result(unexpect,
1476
0
                            trivial_invoke(std::forward<F>(f),
1477
0
                                           std::forward<Exp>(exp).error()));
1478
890
    }
1479
890
}
_ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9eof_errorEEERFNS4_11parse_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_
Line
Count
Source
1461
2.35k
{
1462
    if constexpr (std::is_void_v<Ret>) {
1463
        using result = expected<expected_value_type<Exp>, monostate>;
1464
        if (SCN_LIKELY(exp.has_value())) {
1465
            return result(*std::forward<Exp>(exp));
1466
        }
1467
1468
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1469
        return result(unexpect, monostate{});
1470
    }
1471
2.35k
    else {
1472
2.35k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1473
2.35k
        return SCN_LIKELY(exp.has_value())
1474
2.35k
                   ? result(*std::forward<Exp>(exp))
1475
2.35k
                   : result(unexpect,
1476
414
                            trivial_invoke(std::forward<F>(f),
1477
414
                                           std::forward<Exp>(exp).error()));
1478
2.35k
    }
1479
2.35k
}
_ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorIPKcS9_EEEENS4_9eof_errorEEERFNS0_10scan_errorESC_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSJ_OT0_
Line
Count
Source
1461
1.06k
{
1462
    if constexpr (std::is_void_v<Ret>) {
1463
        using result = expected<expected_value_type<Exp>, monostate>;
1464
        if (SCN_LIKELY(exp.has_value())) {
1465
            return result(*std::forward<Exp>(exp));
1466
        }
1467
1468
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1469
        return result(unexpect, monostate{});
1470
    }
1471
1.06k
    else {
1472
1.06k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1473
1.06k
        return SCN_LIKELY(exp.has_value())
1474
1.06k
                   ? result(*std::forward<Exp>(exp))
1475
1.06k
                   : result(unexpect,
1476
0
                            trivial_invoke(std::forward<F>(f),
1477
0
                                           std::forward<Exp>(exp).error()));
1478
1.06k
    }
1479
1.06k
}
_ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeES8_EUlSA_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_
Line
Count
Source
1461
1.03k
{
1462
    if constexpr (std::is_void_v<Ret>) {
1463
        using result = expected<expected_value_type<Exp>, monostate>;
1464
        if (SCN_LIKELY(exp.has_value())) {
1465
            return result(*std::forward<Exp>(exp));
1466
        }
1467
1468
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1469
        return result(unexpect, monostate{});
1470
    }
1471
1.03k
    else {
1472
1.03k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1473
1.03k
        return SCN_LIKELY(exp.has_value())
1474
1.03k
                   ? result(*std::forward<Exp>(exp))
1475
1.03k
                   : result(unexpect,
1476
1.03k
                            trivial_invoke(std::forward<F>(f),
1477
1.03k
                                           std::forward<Exp>(exp).error()));
1478
1.03k
    }
1479
1.03k
}
_ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS4_9eof_errorEEERFNS0_10scan_errorES9_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSG_OT0_
Line
Count
Source
1461
2.73k
{
1462
    if constexpr (std::is_void_v<Ret>) {
1463
        using result = expected<expected_value_type<Exp>, monostate>;
1464
        if (SCN_LIKELY(exp.has_value())) {
1465
            return result(*std::forward<Exp>(exp));
1466
        }
1467
1468
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1469
        return result(unexpect, monostate{});
1470
    }
1471
2.73k
    else {
1472
2.73k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1473
2.73k
        return SCN_LIKELY(exp.has_value())
1474
2.73k
                   ? result(*std::forward<Exp>(exp))
1475
2.73k
                   : result(unexpect,
1476
0
                            trivial_invoke(std::forward<F>(f),
1477
0
                                           std::forward<Exp>(exp).error()));
1478
2.73k
    }
1479
2.73k
}
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESH_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESJ_EEDaOSN_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSD_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSN_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINSt3__14pairINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS9_9eof_errorEEERFNS0_10scan_errorESC_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEEEZNS7_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS8_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSI_OT0_
_ZN3scn2v46detail20transform_error_implINS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESE_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSK_OT0_
Line
Count
Source
1461
366
{
1462
    if constexpr (std::is_void_v<Ret>) {
1463
        using result = expected<expected_value_type<Exp>, monostate>;
1464
        if (SCN_LIKELY(exp.has_value())) {
1465
            return result(*std::forward<Exp>(exp));
1466
        }
1467
1468
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1469
        return result(unexpect, monostate{});
1470
    }
1471
366
    else {
1472
366
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1473
366
        return SCN_LIKELY(exp.has_value())
1474
366
                   ? result(*std::forward<Exp>(exp))
1475
366
                   : result(unexpect,
1476
0
                            trivial_invoke(std::forward<F>(f),
1477
0
                                           std::forward<Exp>(exp).error()));
1478
366
    }
1479
366
}
_ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeES8_EUlSA_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSI_OT0_
Line
Count
Source
1461
732
{
1462
    if constexpr (std::is_void_v<Ret>) {
1463
        using result = expected<expected_value_type<Exp>, monostate>;
1464
        if (SCN_LIKELY(exp.has_value())) {
1465
            return result(*std::forward<Exp>(exp));
1466
        }
1467
1468
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1469
        return result(unexpect, monostate{});
1470
    }
1471
732
    else {
1472
732
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1473
732
        return SCN_LIKELY(exp.has_value())
1474
732
                   ? result(*std::forward<Exp>(exp))
1475
732
                   : result(unexpect,
1476
732
                            trivial_invoke(std::forward<F>(f),
1477
732
                                           std::forward<Exp>(exp).error()));
1478
732
    }
1479
732
}
_ZN3scn2v46detail20transform_error_implINS0_8expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS8_9eof_errorEEERFNS0_10scan_errorESB_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSH_OT0_
Line
Count
Source
1461
916
{
1462
    if constexpr (std::is_void_v<Ret>) {
1463
        using result = expected<expected_value_type<Exp>, monostate>;
1464
        if (SCN_LIKELY(exp.has_value())) {
1465
            return result(*std::forward<Exp>(exp));
1466
        }
1467
1468
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1469
        return result(unexpect, monostate{});
1470
    }
1471
916
    else {
1472
916
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1473
916
        return SCN_LIKELY(exp.has_value())
1474
916
                   ? result(*std::forward<Exp>(exp))
1475
916
                   : result(unexpect,
1476
0
                            trivial_invoke(std::forward<F>(f),
1477
0
                                           std::forward<Exp>(exp).error()));
1478
916
    }
1479
916
}
_ZN3scn2v46detail20transform_error_implIRNS0_8expectedIPKcNS0_4impl11parse_errorEEEZNS6_29map_parse_error_to_scan_errorENS0_10scan_error4codeES5_EUlS7_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSF_OT0_
Line
Count
Source
1461
938
{
1462
    if constexpr (std::is_void_v<Ret>) {
1463
        using result = expected<expected_value_type<Exp>, monostate>;
1464
        if (SCN_LIKELY(exp.has_value())) {
1465
            return result(*std::forward<Exp>(exp));
1466
        }
1467
1468
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1469
        return result(unexpect, monostate{});
1470
    }
1471
938
    else {
1472
938
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1473
938
        return SCN_LIKELY(exp.has_value())
1474
938
                   ? result(*std::forward<Exp>(exp))
1475
938
                   : result(unexpect,
1476
938
                            trivial_invoke(std::forward<F>(f),
1477
938
                                           std::forward<Exp>(exp).error()));
1478
938
    }
1479
938
}
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_INS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESM_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESO_EEDaOST_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS0_10scan_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSK_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS4_11parse_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSK_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS4_9eof_errorEEERFNS0_10scan_errorESF_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESH_EEDaOSM_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSD_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSM_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEEERFNS7_11parse_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSF_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27parse_integer_prefix_resultINS1_17basic_scan_bufferIwE16forward_iteratorEEENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEEEZNS7_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS8_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSH_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKwS8_EENS4_15take_width_viewINSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSB_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESM_EEDaOSQ_OT0_
_ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_
Line
Count
Source
1461
514
{
1462
    if constexpr (std::is_void_v<Ret>) {
1463
        using result = expected<expected_value_type<Exp>, monostate>;
1464
        if (SCN_LIKELY(exp.has_value())) {
1465
            return result(*std::forward<Exp>(exp));
1466
        }
1467
1468
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1469
        return result(unexpect, monostate{});
1470
    }
1471
514
    else {
1472
514
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1473
514
        return SCN_LIKELY(exp.has_value())
1474
514
                   ? result(*std::forward<Exp>(exp))
1475
514
                   : result(unexpect,
1476
0
                            trivial_invoke(std::forward<F>(f),
1477
0
                                           std::forward<Exp>(exp).error()));
1478
514
    }
1479
514
}
_ZN3scn2v46detail20transform_error_implINS0_8expectedIPKwNS0_4impl9eof_errorEEERFNS0_10scan_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ES9_EEDaOSE_OT0_
Line
Count
Source
1461
8.13k
{
1462
    if constexpr (std::is_void_v<Ret>) {
1463
        using result = expected<expected_value_type<Exp>, monostate>;
1464
        if (SCN_LIKELY(exp.has_value())) {
1465
            return result(*std::forward<Exp>(exp));
1466
        }
1467
1468
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1469
        return result(unexpect, monostate{});
1470
    }
1471
8.13k
    else {
1472
8.13k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1473
8.13k
        return SCN_LIKELY(exp.has_value())
1474
8.13k
                   ? result(*std::forward<Exp>(exp))
1475
8.13k
                   : result(unexpect,
1476
0
                            trivial_invoke(std::forward<F>(f),
1477
0
                                           std::forward<Exp>(exp).error()));
1478
8.13k
    }
1479
8.13k
}
_ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9eof_errorEEERFNS4_11parse_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_
Line
Count
Source
1461
1.16k
{
1462
    if constexpr (std::is_void_v<Ret>) {
1463
        using result = expected<expected_value_type<Exp>, monostate>;
1464
        if (SCN_LIKELY(exp.has_value())) {
1465
            return result(*std::forward<Exp>(exp));
1466
        }
1467
1468
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1469
        return result(unexpect, monostate{});
1470
    }
1471
1.16k
    else {
1472
1.16k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1473
1.16k
        return SCN_LIKELY(exp.has_value())
1474
1.16k
                   ? result(*std::forward<Exp>(exp))
1475
1.16k
                   : result(unexpect,
1476
292
                            trivial_invoke(std::forward<F>(f),
1477
292
                                           std::forward<Exp>(exp).error()));
1478
1.16k
    }
1479
1.16k
}
_ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorIPKwS9_EEEENS4_9eof_errorEEERFNS0_10scan_errorESC_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSJ_OT0_
Line
Count
Source
1461
572
{
1462
    if constexpr (std::is_void_v<Ret>) {
1463
        using result = expected<expected_value_type<Exp>, monostate>;
1464
        if (SCN_LIKELY(exp.has_value())) {
1465
            return result(*std::forward<Exp>(exp));
1466
        }
1467
1468
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1469
        return result(unexpect, monostate{});
1470
    }
1471
572
    else {
1472
572
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1473
572
        return SCN_LIKELY(exp.has_value())
1474
572
                   ? result(*std::forward<Exp>(exp))
1475
572
                   : result(unexpect,
1476
0
                            trivial_invoke(std::forward<F>(f),
1477
0
                                           std::forward<Exp>(exp).error()));
1478
572
    }
1479
572
}
_ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSA_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSJ_OT0_
Line
Count
Source
1461
506
{
1462
    if constexpr (std::is_void_v<Ret>) {
1463
        using result = expected<expected_value_type<Exp>, monostate>;
1464
        if (SCN_LIKELY(exp.has_value())) {
1465
            return result(*std::forward<Exp>(exp));
1466
        }
1467
1468
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1469
        return result(unexpect, monostate{});
1470
    }
1471
506
    else {
1472
506
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1473
506
        return SCN_LIKELY(exp.has_value())
1474
506
                   ? result(*std::forward<Exp>(exp))
1475
506
                   : result(unexpect,
1476
464
                            trivial_invoke(std::forward<F>(f),
1477
464
                                           std::forward<Exp>(exp).error()));
1478
506
    }
1479
506
}
_ZN3scn2v46detail20transform_error_implINS0_8expectedIPKwNS0_4impl9eof_errorEEERFNS6_11parse_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ES9_EEDaOSE_OT0_
Line
Count
Source
1461
5.61k
{
1462
    if constexpr (std::is_void_v<Ret>) {
1463
        using result = expected<expected_value_type<Exp>, monostate>;
1464
        if (SCN_LIKELY(exp.has_value())) {
1465
            return result(*std::forward<Exp>(exp));
1466
        }
1467
1468
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1469
        return result(unexpect, monostate{});
1470
    }
1471
5.61k
    else {
1472
5.61k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1473
5.61k
        return SCN_LIKELY(exp.has_value())
1474
5.61k
                   ? result(*std::forward<Exp>(exp))
1475
5.61k
                   : result(unexpect,
1476
176
                            trivial_invoke(std::forward<F>(f),
1477
176
                                           std::forward<Exp>(exp).error()));
1478
5.61k
    }
1479
5.61k
}
_ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS4_9eof_errorEEERFNS0_10scan_errorES9_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSG_OT0_
Line
Count
Source
1461
2.70k
{
1462
    if constexpr (std::is_void_v<Ret>) {
1463
        using result = expected<expected_value_type<Exp>, monostate>;
1464
        if (SCN_LIKELY(exp.has_value())) {
1465
            return result(*std::forward<Exp>(exp));
1466
        }
1467
1468
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1469
        return result(unexpect, monostate{});
1470
    }
1471
2.70k
    else {
1472
2.70k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1473
2.70k
        return SCN_LIKELY(exp.has_value())
1474
2.70k
                   ? result(*std::forward<Exp>(exp))
1475
2.70k
                   : result(unexpect,
1476
0
                            trivial_invoke(std::forward<F>(f),
1477
0
                                           std::forward<Exp>(exp).error()));
1478
2.70k
    }
1479
2.70k
}
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESH_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESJ_EEDaOSN_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSD_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSN_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINSt3__14pairINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS9_9eof_errorEEERFNS0_10scan_errorESC_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEEEZNS7_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS8_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSI_OT0_
_ZN3scn2v46detail20transform_error_implINS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESE_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSK_OT0_
Line
Count
Source
1461
182
{
1462
    if constexpr (std::is_void_v<Ret>) {
1463
        using result = expected<expected_value_type<Exp>, monostate>;
1464
        if (SCN_LIKELY(exp.has_value())) {
1465
            return result(*std::forward<Exp>(exp));
1466
        }
1467
1468
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1469
        return result(unexpect, monostate{});
1470
    }
1471
182
    else {
1472
182
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1473
182
        return SCN_LIKELY(exp.has_value())
1474
182
                   ? result(*std::forward<Exp>(exp))
1475
182
                   : result(unexpect,
1476
0
                            trivial_invoke(std::forward<F>(f),
1477
0
                                           std::forward<Exp>(exp).error()));
1478
182
    }
1479
182
}
_ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSA_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSK_OT0_
Line
Count
Source
1461
340
{
1462
    if constexpr (std::is_void_v<Ret>) {
1463
        using result = expected<expected_value_type<Exp>, monostate>;
1464
        if (SCN_LIKELY(exp.has_value())) {
1465
            return result(*std::forward<Exp>(exp));
1466
        }
1467
1468
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1469
        return result(unexpect, monostate{});
1470
    }
1471
340
    else {
1472
340
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1473
340
        return SCN_LIKELY(exp.has_value())
1474
340
                   ? result(*std::forward<Exp>(exp))
1475
340
                   : result(unexpect,
1476
340
                            trivial_invoke(std::forward<F>(f),
1477
340
                                           std::forward<Exp>(exp).error()));
1478
340
    }
1479
340
}
_ZN3scn2v46detail20transform_error_implINS0_8expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS8_9eof_errorEEERFNS0_10scan_errorESB_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSH_OT0_
Line
Count
Source
1461
948
{
1462
    if constexpr (std::is_void_v<Ret>) {
1463
        using result = expected<expected_value_type<Exp>, monostate>;
1464
        if (SCN_LIKELY(exp.has_value())) {
1465
            return result(*std::forward<Exp>(exp));
1466
        }
1467
1468
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1469
        return result(unexpect, monostate{});
1470
    }
1471
948
    else {
1472
948
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1473
948
        return SCN_LIKELY(exp.has_value())
1474
948
                   ? result(*std::forward<Exp>(exp))
1475
948
                   : result(unexpect,
1476
0
                            trivial_invoke(std::forward<F>(f),
1477
0
                                           std::forward<Exp>(exp).error()));
1478
948
    }
1479
948
}
_ZN3scn2v46detail20transform_error_implIRNS0_8expectedIPKwNS0_4impl11parse_errorEEEZNS6_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS7_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSH_OT0_
Line
Count
Source
1461
964
{
1462
    if constexpr (std::is_void_v<Ret>) {
1463
        using result = expected<expected_value_type<Exp>, monostate>;
1464
        if (SCN_LIKELY(exp.has_value())) {
1465
            return result(*std::forward<Exp>(exp));
1466
        }
1467
1468
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1469
        return result(unexpect, monostate{});
1470
    }
1471
964
    else {
1472
964
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1473
964
        return SCN_LIKELY(exp.has_value())
1474
964
                   ? result(*std::forward<Exp>(exp))
1475
964
                   : result(unexpect,
1476
964
                            trivial_invoke(std::forward<F>(f),
1477
964
                                           std::forward<Exp>(exp).error()));
1478
964
    }
1479
964
}
_ZN3scn2v46detail20transform_error_implINS0_8expectedIPKcNS0_4impl9eof_errorEEERFNS6_11parse_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ES9_EEDaOSE_OT0_
Line
Count
Source
1461
2.04k
{
1462
    if constexpr (std::is_void_v<Ret>) {
1463
        using result = expected<expected_value_type<Exp>, monostate>;
1464
        if (SCN_LIKELY(exp.has_value())) {
1465
            return result(*std::forward<Exp>(exp));
1466
        }
1467
1468
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1469
        return result(unexpect, monostate{});
1470
    }
1471
2.04k
    else {
1472
2.04k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1473
2.04k
        return SCN_LIKELY(exp.has_value())
1474
2.04k
                   ? result(*std::forward<Exp>(exp))
1475
2.04k
                   : result(unexpect,
1476
102
                            trivial_invoke(std::forward<F>(f),
1477
102
                                           std::forward<Exp>(exp).error()));
1478
2.04k
    }
1479
2.04k
}
_ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKcS8_EENS4_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS8_S8_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESM_EEDaOSR_OT0_
Line
Count
Source
1461
2.33k
{
1462
    if constexpr (std::is_void_v<Ret>) {
1463
        using result = expected<expected_value_type<Exp>, monostate>;
1464
        if (SCN_LIKELY(exp.has_value())) {
1465
            return result(*std::forward<Exp>(exp));
1466
        }
1467
1468
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1469
        return result(unexpect, monostate{});
1470
    }
1471
2.33k
    else {
1472
2.33k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1473
2.33k
        return SCN_LIKELY(exp.has_value())
1474
2.33k
                   ? result(*std::forward<Exp>(exp))
1475
2.33k
                   : result(unexpect,
1476
238
                            trivial_invoke(std::forward<F>(f),
1477
238
                                           std::forward<Exp>(exp).error()));
1478
2.33k
    }
1479
2.33k
}
_ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKwS8_EENS4_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS8_S8_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESM_EEDaOSR_OT0_
Line
Count
Source
1461
1.12k
{
1462
    if constexpr (std::is_void_v<Ret>) {
1463
        using result = expected<expected_value_type<Exp>, monostate>;
1464
        if (SCN_LIKELY(exp.has_value())) {
1465
            return result(*std::forward<Exp>(exp));
1466
        }
1467
1468
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1469
        return result(unexpect, monostate{});
1470
    }
1471
1.12k
    else {
1472
1.12k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1473
1.12k
        return SCN_LIKELY(exp.has_value())
1474
1.12k
                   ? result(*std::forward<Exp>(exp))
1475
1.12k
                   : result(unexpect,
1476
74
                            trivial_invoke(std::forward<F>(f),
1477
74
                                           std::forward<Exp>(exp).error()));
1478
1.12k
    }
1479
1.12k
}
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEEERFNS0_10scan_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEEERFNS0_10scan_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSG_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEEERFNS0_10scan_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEEERFNS0_10scan_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSG_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedIPKcNS0_4impl9eof_errorEEERFNS0_10scan_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSG_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedIPKcNS0_4impl9eof_errorEEERFNS0_10scan_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSF_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_INS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESM_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESQ_EEDaOSV_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_INS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESM_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESP_EEDaOSU_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS0_10scan_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESH_EEDaOSM_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS0_10scan_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSL_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS4_9eof_errorEEERFNS0_10scan_errorESF_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESJ_EEDaOSO_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS4_9eof_errorEEERFNS0_10scan_errorESF_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESI_EEDaOSN_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS4_11parse_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESH_EEDaOSM_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS4_11parse_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSL_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSD_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESH_EEDaOSO_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS1_17basic_scan_bufferIcE16forward_iteratorEEENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS1_17basic_scan_bufferIcE16forward_iteratorEEENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEEERFNS7_11parse_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEEERFNS7_11parse_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSG_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEEEZNS7_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS8_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKcS8_EENS4_15take_width_viewINSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSB_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESO_EEDaOSS_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKcS8_EENS4_15take_width_viewINSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSB_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESN_EEDaOSR_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorIPKcS9_EEEENS4_9eof_errorEEERFNS0_10scan_errorESC_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSL_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorIPKcS9_EEEENS4_9eof_errorEEERFNS0_10scan_errorESC_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSK_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9eof_errorEEERFNS4_11parse_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9eof_errorEEERFNS4_11parse_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeES8_EUlSA_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS4_9eof_errorEEERFNS0_10scan_errorES9_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS4_9eof_errorEEERFNS0_10scan_errorES9_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESH_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESL_EEDaOSP_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESH_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESK_EEDaOSO_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINSt3__14pairINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS9_9eof_errorEEERFNS0_10scan_errorESC_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSK_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINSt3__14pairINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS9_9eof_errorEEERFNS0_10scan_errorESC_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESE_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESI_EEDaOSM_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESE_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESH_EEDaOSL_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS8_9eof_errorEEERFNS0_10scan_errorESB_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS8_9eof_errorEEERFNS0_10scan_errorESB_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedIPKcNS0_4impl11parse_errorEEEZNS6_29map_parse_error_to_scan_errorENS0_10scan_error4codeES5_EUlS7_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSG_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_INS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESM_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESQ_EEDaOSV_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_INS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESM_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESP_EEDaOSU_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS0_10scan_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESH_EEDaOSM_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS0_10scan_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSL_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS4_9eof_errorEEERFNS0_10scan_errorESF_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESJ_EEDaOSO_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS4_9eof_errorEEERFNS0_10scan_errorESF_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESI_EEDaOSN_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS4_11parse_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESH_EEDaOSM_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS4_11parse_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSL_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSD_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESH_EEDaOSO_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS1_17basic_scan_bufferIwE16forward_iteratorEEENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS1_17basic_scan_bufferIwE16forward_iteratorEEENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEEERFNS7_11parse_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEEERFNS7_11parse_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSG_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEEEZNS7_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS8_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKwS8_EENS4_15take_width_viewINSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSB_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESO_EEDaOSS_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKwS8_EENS4_15take_width_viewINSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSB_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESN_EEDaOSR_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedIPKwNS0_4impl9eof_errorEEERFNS0_10scan_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSG_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedIPKwNS0_4impl9eof_errorEEERFNS0_10scan_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSF_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorIPKwS9_EEEENS4_9eof_errorEEERFNS0_10scan_errorESC_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSL_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorIPKwS9_EEEENS4_9eof_errorEEERFNS0_10scan_errorESC_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSK_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9eof_errorEEERFNS4_11parse_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9eof_errorEEERFNS4_11parse_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSA_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSL_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS4_9eof_errorEEERFNS0_10scan_errorES9_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS4_9eof_errorEEERFNS0_10scan_errorES9_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedIPKwNS0_4impl9eof_errorEEERFNS6_11parse_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSG_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedIPKwNS0_4impl9eof_errorEEERFNS6_11parse_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSF_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESH_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESL_EEDaOSP_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESH_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESK_EEDaOSO_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINSt3__14pairINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS9_9eof_errorEEERFNS0_10scan_errorESC_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSK_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINSt3__14pairINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS9_9eof_errorEEERFNS0_10scan_errorESC_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESE_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESI_EEDaOSM_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESE_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESH_EEDaOSL_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS8_9eof_errorEEERFNS0_10scan_errorESB_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS8_9eof_errorEEERFNS0_10scan_errorESB_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedIPKwNS0_4impl11parse_errorEEEZNS6_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS7_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedIPKcNS0_4impl9eof_errorEEERFNS6_11parse_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSG_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedIPKcNS0_4impl9eof_errorEEERFNS6_11parse_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSF_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKcS8_EENS4_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS8_S8_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESO_EEDaOST_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKcS8_EENS4_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS8_S8_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESN_EEDaOSS_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKwS8_EENS4_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS8_S8_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESO_EEDaOST_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKwS8_EENS4_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS8_S8_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESN_EEDaOSS_OT0_
1480
template <typename Exp,
1481
          typename F,
1482
          std::enable_if_t<is_exp_void<Exp>::value>* = nullptr,
1483
          typename Ret = decltype(trivial_invoke(SCN_DECLVAL(F),
1484
                                                 SCN_DECLVAL(Exp).error()))>
1485
constexpr auto transform_error_impl(Exp&& exp, F&& f)
1486
{
1487
    if constexpr (std::is_void_v<Ret>) {
1488
        using result = expected<expected_value_type<Exp>, monostate>;
1489
        if (SCN_LIKELY(exp.has_value())) {
1490
            return result();
1491
        }
1492
1493
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1494
        return result(unexpect, monostate{});
1495
    }
1496
    else {
1497
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1498
        return SCN_LIKELY(exp.has_value())
1499
                   ? result()
1500
                   : result(unexpect,
1501
                            trivial_invoke(std::forward<F>(f),
1502
                                           std::forward<Exp>(exp).error()));
1503
    }
1504
}
1505
1506
template <class T, class E, class U, class G, class UR, class GR>
1507
using enable_from_other =
1508
    std::enable_if_t<std::is_constructible_v<T, UR> &&
1509
                     std::is_constructible_v<E, GR> &&
1510
                     !std::is_constructible_v<T, expected<U, G>&> &&
1511
                     !std::is_constructible_v<T, expected<U, G>&&> &&
1512
                     !std::is_constructible_v<T, const expected<U, G>&> &&
1513
                     !std::is_constructible_v<T, const expected<U, G>&&> &&
1514
                     !std::is_convertible_v<expected<U, G>&, T> &&
1515
                     !std::is_convertible_v<expected<U, G>&&, T> &&
1516
                     !std::is_convertible_v<const expected<U, G>&, T> &&
1517
                     !std::is_convertible_v<const expected<U, G>&&, T>>;
1518
}  // namespace detail
1519
1520
/**
1521
 * \see `std::expected`
1522
 */
1523
template <typename T, typename E>
1524
class SCN_TRIVIAL_ABI expected
1525
    : private detail::expected_operations_base<T, E>,
1526
      private detail::expected_delete_ctor_base<T, E>,
1527
      private detail::expected_delete_assign_base<T, E>,
1528
      private detail::expected_default_ctor_base<T, E> {
1529
    using base = detail::expected_operations_base<T, E>;
1530
    using ctor_base = detail::expected_default_ctor_base<T, E>;
1531
1532
    static_assert(std::is_void_v<T> || std::is_destructible_v<T>,
1533
                  "T must be void or Destructible");
1534
    static_assert(std::is_destructible_v<E>, "E must be Destructible");
1535
1536
    static_assert(!std::is_same_v<std::remove_cv_t<T>, std::in_place_t>);
1537
    static_assert(!std::is_same_v<std::remove_cv_t<T>, unexpect_t>);
1538
    static_assert(!std::is_same_v<std::remove_cv_t<T>, unexpected<E>>);
1539
1540
public:
1541
    using value_type = T;
1542
    using error_type = E;
1543
    using unexpected_type = unexpected<E>;
1544
1545
    template <typename U>
1546
    using rebind = expected<U, error_type>;
1547
1548
    // Special member functions are defaulted, implementations provided
1549
    // by base classes
1550
1551
533k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v4::scan_error>::expected()
Line
Count
Source
1551
5.62k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error>::expected()
Line
Count
Source
1551
5.62k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error>::expected()
Line
Count
Source
1551
5.62k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v4::scan_error>::expected()
Line
Count
Source
1551
5.62k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v4::scan_error>::expected()
Line
Count
Source
1551
5.62k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v4::scan_error>::expected()
Line
Count
Source
1551
5.62k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::expected()
Line
Count
Source
1551
5.62k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error>::expected()
Line
Count
Source
1551
5.62k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v4::scan_error>::expected()
Line
Count
Source
1551
5.62k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v4::scan_error>::expected()
Line
Count
Source
1551
11.2k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error>::expected()
Line
Count
Source
1551
11.2k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error>::expected()
Line
Count
Source
1551
11.2k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v4::scan_error>::expected()
Line
Count
Source
1551
11.2k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v4::scan_error>::expected()
Line
Count
Source
1551
11.2k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v4::scan_error>::expected()
Line
Count
Source
1551
11.2k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::expected()
Line
Count
Source
1551
11.2k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error>::expected()
Line
Count
Source
1551
11.2k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v4::scan_error>::expected()
Line
Count
Source
1551
11.2k
    constexpr expected() = default;
scn::v4::expected<void, scn::v4::scan_error>::expected()
Line
Count
Source
1551
381k
    constexpr expected() = default;
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::expected()
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error>::expected()
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::expected()
1552
1553
    constexpr expected(const expected&) = default;
1554
    constexpr expected(expected&&) = default;
1555
    constexpr expected& operator=(const expected&) = default;
1556
147k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v4::scan_error>&&)
Line
Count
Source
1556
5.36k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error>&&)
Line
Count
Source
1556
5.62k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error>&&)
Line
Count
Source
1556
5.62k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v4::scan_error>&&)
Line
Count
Source
1556
5.62k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v4::scan_error>&&)
Line
Count
Source
1556
5.62k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v4::scan_error>&&)
Line
Count
Source
1556
5.62k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>&&)
Line
Count
Source
1556
5.00k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error>&&)
Line
Count
Source
1556
5.00k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v4::scan_error>&&)
Line
Count
Source
1556
5.00k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v4::scan_error>&&)
Line
Count
Source
1556
11.0k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error>&&)
Line
Count
Source
1556
11.2k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error>&&)
Line
Count
Source
1556
11.2k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v4::scan_error>&&)
Line
Count
Source
1556
11.2k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v4::scan_error>&&)
Line
Count
Source
1556
11.2k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v4::scan_error>&&)
Line
Count
Source
1556
11.2k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>&&)
Line
Count
Source
1556
10.7k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error>&&)
Line
Count
Source
1556
10.7k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v4::scan_error>&&)
Line
Count
Source
1556
10.7k
    constexpr expected& operator=(expected&&) = default;
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>&&)
1557
1558
    ~expected() = default;
1559
1560
    /**
1561
     * Construct an expected value.
1562
     * Intentionally non-explicit, to make constructing an expected
1563
     * value as transparent as possible.
1564
     */
1565
    template <typename U = value_type,
1566
              typename = std::enable_if_t<std::is_convertible_v<U, value_type>>>
1567
    SCN_IMPLICIT constexpr expected(U&& val) noexcept(
1568
        std::is_nothrow_constructible_v<base, std::in_place_t, U&&>)
1569
199k
        : base(std::in_place, std::forward<U>(val)),
1570
199k
          ctor_base(detail::non_default_ctor_tag_t{})
1571
199k
    {
1572
199k
    }
scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::scan_error>::expected<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void>(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&&)
Line
Count
Source
1569
2.11k
        : base(std::in_place, std::forward<U>(val)),
1570
2.11k
          ctor_base(detail::non_default_ctor_tag_t{})
1571
2.11k
    {
1572
2.11k
    }
scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::scan_error>::expected<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void>(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&&)
Line
Count
Source
1569
1.82k
        : base(std::in_place, std::forward<U>(val)),
1570
1.82k
          ctor_base(detail::non_default_ctor_tag_t{})
1571
1.82k
    {
1572
1.82k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error>::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, void>(scn::v4::detail::basic_scan_buffer<char>::forward_iterator&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error>::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, void>(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&&)
scn::v4::expected<char const*, scn::v4::scan_error>::expected<char const*, void>(char const*&&)
Line
Count
Source
1569
21.5k
        : base(std::in_place, std::forward<U>(val)),
1570
21.5k
          ctor_base(detail::non_default_ctor_tag_t{})
1571
21.5k
    {
1572
21.5k
    }
scn::v4::expected<wchar_t const*, scn::v4::scan_error>::expected<wchar_t const*, void>(wchar_t const*&&)
Line
Count
Source
1569
18.9k
        : base(std::in_place, std::forward<U>(val)),
1570
18.9k
          ctor_base(detail::non_default_ctor_tag_t{})
1571
18.9k
    {
1572
18.9k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error>::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator&, void>(scn::v4::detail::basic_scan_buffer<char>::forward_iterator&)
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error>::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&, void>(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&)
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::eof_error>::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, void>(scn::v4::detail::basic_scan_buffer<char>::forward_iterator&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error>::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, void>(std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v4::scan_error>::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, long>, void>(std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, long>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, void>(std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error>::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>(scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error>::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>(scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&&)
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error>::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator&, void>(scn::v4::detail::basic_scan_buffer<char>::forward_iterator&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, void>(std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error>::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, void>(scn::v4::detail::basic_scan_buffer<char>::forward_iterator&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::impl::eof_error>::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, void>(scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::scan_error>::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, void>(scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>&&)
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::expected<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
scn::v4::expected<char const*, scn::v4::impl::eof_error>::expected<char const*, void>(char const*&&)
Line
Count
Source
1569
46.0k
        : base(std::in_place, std::forward<U>(val)),
1570
46.0k
          ctor_base(detail::non_default_ctor_tag_t{})
1571
46.0k
    {
1572
46.0k
    }
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::eof_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&&)
Line
Count
Source
1569
9.33k
        : base(std::in_place, std::forward<U>(val)),
1570
9.33k
          ctor_base(detail::non_default_ctor_tag_t{})
1571
9.33k
    {
1572
9.33k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::eof_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >&&)
scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, scn::v4::scan_error>::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, void>(std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>&&)
Line
Count
Source
1569
4.99k
        : base(std::in_place, std::forward<U>(val)),
1570
4.99k
          ctor_base(detail::non_default_ctor_tag_t{})
1571
4.99k
    {
1572
4.99k
    }
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&&)
Line
Count
Source
1569
2.59k
        : base(std::in_place, std::forward<U>(val)),
1570
2.59k
          ctor_base(detail::non_default_ctor_tag_t{})
1571
2.59k
    {
1572
2.59k
    }
scn::v4::expected<std::__1::pair<char const*, long>, scn::v4::scan_error>::expected<std::__1::pair<char const*, long>, void>(std::__1::pair<char const*, long>&&)
Line
Count
Source
1569
9.31k
        : base(std::in_place, std::forward<U>(val)),
1570
9.31k
          ctor_base(detail::non_default_ctor_tag_t{})
1571
9.31k
    {
1572
9.31k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&)
scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, void>(std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>&&)
Line
Count
Source
1569
1.42k
        : base(std::in_place, std::forward<U>(val)),
1570
1.42k
          ctor_base(detail::non_default_ctor_tag_t{})
1571
1.42k
    {
1572
1.42k
    }
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&&)
Line
Count
Source
1569
1.94k
        : base(std::in_place, std::forward<U>(val)),
1570
1.94k
          ctor_base(detail::non_default_ctor_tag_t{})
1571
1.94k
    {
1572
1.94k
    }
scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::impl::eof_error>::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, void>(scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&&)
Line
Count
Source
1569
1.06k
        : base(std::in_place, std::forward<U>(val)),
1570
1.06k
          ctor_base(detail::non_default_ctor_tag_t{})
1571
1.06k
    {
1572
1.06k
    }
scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::scan_error>::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, void>(scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&&)
Line
Count
Source
1569
1.06k
        : base(std::in_place, std::forward<U>(val)),
1570
1.06k
          ctor_base(detail::non_default_ctor_tag_t{})
1571
1.06k
    {
1572
1.06k
    }
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: scn::v4::expected<char const*, scn::v4::impl::parse_error>::expected<char const*&, void>(char const*&)
scn::v4::expected<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::expected<std::__1::pair<char const*, scn::v4::impl::sign_type>, void>(std::__1::pair<char const*, scn::v4::impl::sign_type>&&)
Line
Count
Source
1569
3.65k
        : base(std::in_place, std::forward<U>(val)),
1570
3.65k
          ctor_base(detail::non_default_ctor_tag_t{})
1571
3.65k
    {
1572
3.65k
    }
scn::v4::expected<char const*, scn::v4::impl::parse_error>::expected<char const*, void>(char const*&&)
Line
Count
Source
1569
1.94k
        : base(std::in_place, std::forward<U>(val)),
1570
1.94k
          ctor_base(detail::non_default_ctor_tag_t{})
1571
1.94k
    {
1572
1.94k
    }
scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::impl::eof_error>::expected<scn::v4::impl::parse_integer_prefix_result<char const*>, void>(scn::v4::impl::parse_integer_prefix_result<char const*>&&)
Line
Count
Source
1569
2.73k
        : base(std::in_place, std::forward<U>(val)),
1570
2.73k
          ctor_base(detail::non_default_ctor_tag_t{})
1571
2.73k
    {
1572
2.73k
    }
scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::scan_error>::expected<scn::v4::impl::parse_integer_prefix_result<char const*>, void>(scn::v4::impl::parse_integer_prefix_result<char const*>&&)
Line
Count
Source
1569
2.73k
        : base(std::in_place, std::forward<U>(val)),
1570
2.73k
          ctor_base(detail::non_default_ctor_tag_t{})
1571
2.73k
    {
1572
2.73k
    }
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::expected<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
scn::v4::expected<long, scn::v4::scan_error>::expected<long, void>(long&&)
Line
Count
Source
1569
4.16k
        : base(std::in_place, std::forward<U>(val)),
1570
4.16k
          ctor_base(detail::non_default_ctor_tag_t{})
1571
4.16k
    {
1572
4.16k
    }
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, void>(std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, void>(std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>&&)
scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, void>(std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>&&)
Line
Count
Source
1569
366
        : base(std::in_place, std::forward<U>(val)),
1570
366
          ctor_base(detail::non_default_ctor_tag_t{})
1571
366
    {
1572
366
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&)
scn::v4::expected<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<std::__1::pair<char const*, scn::v4::impl::sign_type>, void>(std::__1::pair<char const*, scn::v4::impl::sign_type>&&)
Line
Count
Source
1569
916
        : base(std::in_place, std::forward<U>(val)),
1570
916
          ctor_base(detail::non_default_ctor_tag_t{})
1571
916
    {
1572
916
    }
Unexecuted instantiation: scn::v4::expected<char const*, scn::v4::scan_error>::expected<char const*&, void>(char const*&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&)
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error>::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator const&, void>(scn::v4::detail::basic_scan_buffer<char>::forward_iterator const&)
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&)
Line
Count
Source
1569
804
        : base(std::in_place, std::forward<U>(val)),
1570
804
          ctor_base(detail::non_default_ctor_tag_t{})
1571
804
    {
1572
804
    }
scn::v4::expected<char const*, scn::v4::scan_error>::expected<char const* const&, void>(char const* const&)
Line
Count
Source
1569
1.57k
        : base(std::in_place, std::forward<U>(val)),
1570
1.57k
          ctor_base(detail::non_default_ctor_tag_t{})
1571
1.57k
    {
1572
1.57k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::eof_error>::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, void>(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error>::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, void>(std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v4::scan_error>::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, void>(std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, void>(std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error>::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>(scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error>::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>(scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&&)
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error>::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&, void>(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, void>(std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error>::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, void>(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::impl::eof_error>::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, void>(scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::scan_error>::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, void>(scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>&&)
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::expected<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
scn::v4::expected<wchar_t const*, scn::v4::impl::eof_error>::expected<wchar_t const*, void>(wchar_t const*&&)
Line
Count
Source
1569
19.0k
        : base(std::in_place, std::forward<U>(val)),
1570
19.0k
          ctor_base(detail::non_default_ctor_tag_t{})
1571
19.0k
    {
1572
19.0k
    }
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::eof_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&&)
Line
Count
Source
1569
2.59k
        : base(std::in_place, std::forward<U>(val)),
1570
2.59k
          ctor_base(detail::non_default_ctor_tag_t{})
1571
2.59k
    {
1572
2.59k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::eof_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >&&)
scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, scn::v4::scan_error>::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, void>(std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>&&)
Line
Count
Source
1569
2.13k
        : base(std::in_place, std::forward<U>(val)),
1570
2.13k
          ctor_base(detail::non_default_ctor_tag_t{})
1571
2.13k
    {
1572
2.13k
    }
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&&)
Line
Count
Source
1569
1.60k
        : base(std::in_place, std::forward<U>(val)),
1570
1.60k
          ctor_base(detail::non_default_ctor_tag_t{})
1571
1.60k
    {
1572
1.60k
    }
scn::v4::expected<std::__1::pair<wchar_t const*, long>, scn::v4::scan_error>::expected<std::__1::pair<wchar_t const*, long>, void>(std::__1::pair<wchar_t const*, long>&&)
Line
Count
Source
1569
6.39k
        : base(std::in_place, std::forward<U>(val)),
1570
6.39k
          ctor_base(detail::non_default_ctor_tag_t{})
1571
6.39k
    {
1572
6.39k
    }
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&)
Line
Count
Source
1569
60
        : base(std::in_place, std::forward<U>(val)),
1570
60
          ctor_base(detail::non_default_ctor_tag_t{})
1571
60
    {
1572
60
    }
scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, void>(std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>&&)
Line
Count
Source
1569
754
        : base(std::in_place, std::forward<U>(val)),
1570
754
          ctor_base(detail::non_default_ctor_tag_t{})
1571
754
    {
1572
754
    }
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&&)
Line
Count
Source
1569
938
        : base(std::in_place, std::forward<U>(val)),
1570
938
          ctor_base(detail::non_default_ctor_tag_t{})
1571
938
    {
1572
938
    }
scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::impl::eof_error>::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, void>(scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&&)
Line
Count
Source
1569
572
        : base(std::in_place, std::forward<U>(val)),
1570
572
          ctor_base(detail::non_default_ctor_tag_t{})
1571
572
    {
1572
572
    }
scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::scan_error>::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, void>(scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&&)
Line
Count
Source
1569
572
        : base(std::in_place, std::forward<U>(val)),
1570
572
          ctor_base(detail::non_default_ctor_tag_t{})
1571
572
    {
1572
572
    }
scn::v4::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
1569
8
        : base(std::in_place, std::forward<U>(val)),
1570
8
          ctor_base(detail::non_default_ctor_tag_t{})
1571
8
    {
1572
8
    }
scn::v4::expected<wchar_t const*, scn::v4::impl::parse_error>::expected<wchar_t const*&, void>(wchar_t const*&)
Line
Count
Source
1569
70
        : base(std::in_place, std::forward<U>(val)),
1570
70
          ctor_base(detail::non_default_ctor_tag_t{})
1571
70
    {
1572
70
    }
scn::v4::expected<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::expected<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, void>(std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>&&)
Line
Count
Source
1569
3.65k
        : base(std::in_place, std::forward<U>(val)),
1570
3.65k
          ctor_base(detail::non_default_ctor_tag_t{})
1571
3.65k
    {
1572
3.65k
    }
scn::v4::expected<wchar_t const*, scn::v4::impl::parse_error>::expected<wchar_t const*, void>(wchar_t const*&&)
Line
Count
Source
1569
5.44k
        : base(std::in_place, std::forward<U>(val)),
1570
5.44k
          ctor_base(detail::non_default_ctor_tag_t{})
1571
5.44k
    {
1572
5.44k
    }
scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::impl::eof_error>::expected<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, void>(scn::v4::impl::parse_integer_prefix_result<wchar_t const*>&&)
Line
Count
Source
1569
2.70k
        : base(std::in_place, std::forward<U>(val)),
1570
2.70k
          ctor_base(detail::non_default_ctor_tag_t{})
1571
2.70k
    {
1572
2.70k
    }
scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::scan_error>::expected<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, void>(scn::v4::impl::parse_integer_prefix_result<wchar_t const*>&&)
Line
Count
Source
1569
2.70k
        : base(std::in_place, std::forward<U>(val)),
1570
2.70k
          ctor_base(detail::non_default_ctor_tag_t{})
1571
2.70k
    {
1572
2.70k
    }
scn::v4::expected<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::expected<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
1569
4
        : base(std::in_place, std::forward<U>(val)),
1570
4
          ctor_base(detail::non_default_ctor_tag_t{})
1571
4
    {
1572
4
    }
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, void>(std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, void>(std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>&&)
scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, void>(std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>&&)
Line
Count
Source
1569
182
        : base(std::in_place, std::forward<U>(val)),
1570
182
          ctor_base(detail::non_default_ctor_tag_t{})
1571
182
    {
1572
182
    }
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&)
Line
Count
Source
1569
48
        : base(std::in_place, std::forward<U>(val)),
1570
48
          ctor_base(detail::non_default_ctor_tag_t{})
1571
48
    {
1572
48
    }
scn::v4::expected<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, void>(std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>&&)
Line
Count
Source
1569
948
        : base(std::in_place, std::forward<U>(val)),
1570
948
          ctor_base(detail::non_default_ctor_tag_t{})
1571
948
    {
1572
948
    }
scn::v4::expected<wchar_t const*, scn::v4::scan_error>::expected<wchar_t const*&, void>(wchar_t const*&)
Line
Count
Source
1569
76
        : base(std::in_place, std::forward<U>(val)),
1570
76
          ctor_base(detail::non_default_ctor_tag_t{})
1571
76
    {
1572
76
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&)
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error>::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator const&, void>(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator const&)
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&)
Line
Count
Source
1569
402
        : base(std::in_place, std::forward<U>(val)),
1570
402
          ctor_base(detail::non_default_ctor_tag_t{})
1571
402
    {
1572
402
    }
scn::v4::expected<wchar_t const*, scn::v4::scan_error>::expected<wchar_t const* const&, void>(wchar_t const* const&)
Line
Count
Source
1569
492
        : base(std::in_place, std::forward<U>(val)),
1570
492
          ctor_base(detail::non_default_ctor_tag_t{})
1571
492
    {
1572
492
    }
Unexecuted instantiation: scn::v4::expected<long, scn::v4::scan_error>::expected<int, void>(int&&)
Unexecuted instantiation: scn::v4::expected<wchar_t, scn::v4::scan_error>::expected<wchar_t, void>(wchar_t&&)
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::eof_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >&&)
Line
Count
Source
1569
2.78k
        : base(std::in_place, std::forward<U>(val)),
1570
2.78k
          ctor_base(detail::non_default_ctor_tag_t{})
1571
2.78k
    {
1572
2.78k
    }
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >&&)
Line
Count
Source
1569
2.09k
        : base(std::in_place, std::forward<U>(val)),
1570
2.09k
          ctor_base(detail::non_default_ctor_tag_t{})
1571
2.09k
    {
1572
2.09k
    }
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::eof_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >&&)
Line
Count
Source
1569
1.04k
        : base(std::in_place, std::forward<U>(val)),
1570
1.04k
          ctor_base(detail::non_default_ctor_tag_t{})
1571
1.04k
    {
1572
1.04k
    }
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >&&)
Line
Count
Source
1569
1.04k
        : base(std::in_place, std::forward<U>(val)),
1570
1.04k
          ctor_base(detail::non_default_ctor_tag_t{})
1571
1.04k
    {
1572
1.04k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::expected<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, scn::v4::scan_error>::expected<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, void>(scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::expected<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
1573
1574
    /// Construct an expected value directly in-place
1575
    template <typename... Args,
1576
              typename = std::enable_if_t<std::is_constructible_v<T, Args...>>>
1577
    explicit constexpr expected(std::in_place_t, Args&&... args) noexcept(
1578
        std::is_nothrow_constructible_v<base, std::in_place_t, Args&&...>)
1579
        : base(std::in_place, std::forward<Args>(args)...),
1580
          ctor_base(detail::non_default_ctor_tag_t{})
1581
    {
1582
    }
1583
1584
    template <typename G = E,
1585
              std::enable_if_t<std::is_constructible_v<E, const G&>>* = nullptr,
1586
              std::enable_if_t<!std::is_convertible_v<const G&, E>>* = nullptr>
1587
    explicit constexpr expected(const unexpected<G>& e) noexcept(
1588
        std::is_nothrow_constructible_v<base, unexpect_t, const G&>)
1589
        : base(unexpect, e.error()), ctor_base(detail::non_default_ctor_tag_t{})
1590
    {
1591
    }
1592
    template <typename G = E,
1593
              std::enable_if_t<std::is_constructible_v<E, const G&>>* = nullptr,
1594
              std::enable_if_t<std::is_convertible_v<const G&, E>>* = nullptr>
1595
    SCN_IMPLICIT constexpr expected(const unexpected<G>& e) noexcept(
1596
        std::is_nothrow_constructible_v<base, unexpect_t, const G&>)
1597
        : base(unexpect, e.error()), ctor_base(detail::non_default_ctor_tag_t{})
1598
    {
1599
    }
1600
1601
    template <typename G = E,
1602
              std::enable_if_t<std::is_constructible_v<E, G&&>>* = nullptr,
1603
              std::enable_if_t<!std::is_convertible_v<G&&, E>>* = nullptr>
1604
    explicit constexpr expected(unexpected<G>&& e) noexcept(
1605
        std::is_nothrow_constructible_v<base, unexpect_t, G&&>)
1606
        : base(unexpect, std::move(e.error())),
1607
          ctor_base(detail::non_default_ctor_tag_t{})
1608
    {
1609
    }
1610
    template <typename G = E,
1611
              std::enable_if_t<std::is_constructible_v<E, G&&>>* = nullptr,
1612
              std::enable_if_t<std::is_convertible_v<G&&, E>>* = nullptr>
1613
    SCN_IMPLICIT constexpr expected(unexpected<G>&& e) noexcept(
1614
        std::is_nothrow_constructible_v<base, unexpect_t, G&&>)
1615
903k
        : base(unexpect, std::move(e.error())),
1616
903k
          ctor_base(detail::non_default_ctor_tag_t{})
1617
903k
    {
1618
903k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJcEEENS0_10scan_errorEEC2ISB_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SB_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE
Line
Count
Source
1615
5.36k
        : base(unexpect, std::move(e.error())),
1616
5.36k
          ctor_base(detail::non_default_ctor_tag_t{})
1617
5.36k
    {
1618
5.36k
    }
_ZN3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeIPKcS7_EENS0_10scan_errorEEC2IS9_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS9_OT_EEvE4typeELPv0ETnPNSD_IXsr3stdE16is_convertible_vISF_S9_EEvE4typeELSJ_0EEEONS0_10unexpectedISE_EE
Line
Count
Source
1615
48.5k
        : base(unexpect, std::move(e.error())),
1616
48.5k
          ctor_base(detail::non_default_ctor_tag_t{})
1617
48.5k
    {
1618
48.5k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJiEEENS0_10scan_errorEEC2ISB_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SB_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE
Line
Count
Source
1615
5.62k
        : base(unexpect, std::move(e.error())),
1616
5.62k
          ctor_base(detail::non_default_ctor_tag_t{})
1617
5.62k
    {
1618
5.62k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJjEEENS0_10scan_errorEEC2ISB_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SB_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE
Line
Count
Source
1615
5.62k
        : base(unexpect, std::move(e.error())),
1616
5.62k
          ctor_base(detail::non_default_ctor_tag_t{})
1617
5.62k
    {
1618
5.62k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJdEEENS0_10scan_errorEEC2ISB_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SB_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE
Line
Count
Source
1615
5.62k
        : base(unexpect, std::move(e.error())),
1616
5.62k
          ctor_base(detail::non_default_ctor_tag_t{})
1617
5.62k
    {
1618
5.62k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJbEEENS0_10scan_errorEEC2ISB_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SB_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE
Line
Count
Source
1615
5.62k
        : base(unexpect, std::move(e.error())),
1616
5.62k
          ctor_base(detail::non_default_ctor_tag_t{})
1617
5.62k
    {
1618
5.62k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJPvEEENS0_10scan_errorEEC2ISC_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELSA_0ETnPNSG_IXsr3stdE16is_convertible_vISI_SC_EEvE4typeELSA_0EEEONS0_10unexpectedISH_EE
Line
Count
Source
1615
5.62k
        : base(unexpect, std::move(e.error())),
1616
5.62k
          ctor_base(detail::non_default_ctor_tag_t{})
1617
5.62k
    {
1618
5.62k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJNSt3__112basic_stringIcNSA_11char_traitsIcEENSA_9allocatorIcEEEEEEENS0_10scan_errorEEC2ISI_TnPNSA_9enable_ifIXsr3stdE18is_constructible_vISI_OT_EEvE4typeELPv0ETnPNSL_IXsr3stdE16is_convertible_vISN_SI_EEvE4typeELSR_0EEEONS0_10unexpectedISM_EE
Line
Count
Source
1615
5.00k
        : base(unexpect, std::move(e.error())),
1616
5.00k
          ctor_base(detail::non_default_ctor_tag_t{})
1617
5.00k
    {
1618
5.00k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJNSt3__112basic_stringIwNSA_11char_traitsIwEENSA_9allocatorIwEEEEEEENS0_10scan_errorEEC2ISI_TnPNSA_9enable_ifIXsr3stdE18is_constructible_vISI_OT_EEvE4typeELPv0ETnPNSL_IXsr3stdE16is_convertible_vISN_SI_EEvE4typeELSR_0EEEONS0_10unexpectedISM_EE
Line
Count
Source
1615
5.00k
        : base(unexpect, std::move(e.error())),
1616
5.00k
          ctor_base(detail::non_default_ctor_tag_t{})
1617
5.00k
    {
1618
5.00k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJNSt3__117basic_string_viewIcNSA_11char_traitsIcEEEEEEENS0_10scan_errorEEC2ISG_TnPNSA_9enable_ifIXsr3stdE18is_constructible_vISG_OT_EEvE4typeELPv0ETnPNSJ_IXsr3stdE16is_convertible_vISL_SG_EEvE4typeELSP_0EEEONS0_10unexpectedISK_EE
Line
Count
Source
1615
5.00k
        : base(unexpect, std::move(e.error())),
1616
5.00k
          ctor_base(detail::non_default_ctor_tag_t{})
1617
5.00k
    {
1618
5.00k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJwEEENS0_10scan_errorEEC2ISB_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SB_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE
Line
Count
Source
1615
11.0k
        : base(unexpect, std::move(e.error())),
1616
11.0k
          ctor_base(detail::non_default_ctor_tag_t{})
1617
11.0k
    {
1618
11.0k
    }
_ZN3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeIPKwS7_EENS0_10scan_errorEEC2IS9_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS9_OT_EEvE4typeELPv0ETnPNSD_IXsr3stdE16is_convertible_vISF_S9_EEvE4typeELSJ_0EEEONS0_10unexpectedISE_EE
Line
Count
Source
1615
99.4k
        : base(unexpect, std::move(e.error())),
1616
99.4k
          ctor_base(detail::non_default_ctor_tag_t{})
1617
99.4k
    {
1618
99.4k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJiEEENS0_10scan_errorEEC2ISB_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SB_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE
Line
Count
Source
1615
11.2k
        : base(unexpect, std::move(e.error())),
1616
11.2k
          ctor_base(detail::non_default_ctor_tag_t{})
1617
11.2k
    {
1618
11.2k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJjEEENS0_10scan_errorEEC2ISB_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SB_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE
Line
Count
Source
1615
11.2k
        : base(unexpect, std::move(e.error())),
1616
11.2k
          ctor_base(detail::non_default_ctor_tag_t{})
1617
11.2k
    {
1618
11.2k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJdEEENS0_10scan_errorEEC2ISB_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SB_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE
Line
Count
Source
1615
11.2k
        : base(unexpect, std::move(e.error())),
1616
11.2k
          ctor_base(detail::non_default_ctor_tag_t{})
1617
11.2k
    {
1618
11.2k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJbEEENS0_10scan_errorEEC2ISB_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SB_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE
Line
Count
Source
1615
11.2k
        : base(unexpect, std::move(e.error())),
1616
11.2k
          ctor_base(detail::non_default_ctor_tag_t{})
1617
11.2k
    {
1618
11.2k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJPvEEENS0_10scan_errorEEC2ISC_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELSA_0ETnPNSG_IXsr3stdE16is_convertible_vISI_SC_EEvE4typeELSA_0EEEONS0_10unexpectedISH_EE
Line
Count
Source
1615
11.2k
        : base(unexpect, std::move(e.error())),
1616
11.2k
          ctor_base(detail::non_default_ctor_tag_t{})
1617
11.2k
    {
1618
11.2k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJNSt3__112basic_stringIcNSA_11char_traitsIcEENSA_9allocatorIcEEEEEEENS0_10scan_errorEEC2ISI_TnPNSA_9enable_ifIXsr3stdE18is_constructible_vISI_OT_EEvE4typeELPv0ETnPNSL_IXsr3stdE16is_convertible_vISN_SI_EEvE4typeELSR_0EEEONS0_10unexpectedISM_EE
Line
Count
Source
1615
10.7k
        : base(unexpect, std::move(e.error())),
1616
10.7k
          ctor_base(detail::non_default_ctor_tag_t{})
1617
10.7k
    {
1618
10.7k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJNSt3__112basic_stringIwNSA_11char_traitsIwEENSA_9allocatorIwEEEEEEENS0_10scan_errorEEC2ISI_TnPNSA_9enable_ifIXsr3stdE18is_constructible_vISI_OT_EEvE4typeELPv0ETnPNSL_IXsr3stdE16is_convertible_vISN_SI_EEvE4typeELSR_0EEEONS0_10unexpectedISM_EE
Line
Count
Source
1615
10.7k
        : base(unexpect, std::move(e.error())),
1616
10.7k
          ctor_base(detail::non_default_ctor_tag_t{})
1617
10.7k
    {
1618
10.7k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJNSt3__117basic_string_viewIwNSA_11char_traitsIwEEEEEEENS0_10scan_errorEEC2ISG_TnPNSA_9enable_ifIXsr3stdE18is_constructible_vISG_OT_EEvE4typeELPv0ETnPNSJ_IXsr3stdE16is_convertible_vISL_SG_EEvE4typeELSP_0EEEONS0_10unexpectedISK_EE
Line
Count
Source
1615
10.7k
        : base(unexpect, std::move(e.error())),
1616
10.7k
          ctor_base(detail::non_default_ctor_tag_t{})
1617
10.7k
    {
1618
10.7k
    }
_ZN3scn2v48expectedIlNS0_10scan_errorEEC2IS2_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS2_OT_EEvE4typeELPv0ETnPNS6_IXsr3stdE16is_convertible_vIS8_S2_EEvE4typeELSC_0EEEONS0_10unexpectedIS7_EE
Line
Count
Source
1615
151k
        : base(unexpect, std::move(e.error())),
1616
151k
          ctor_base(detail::non_default_ctor_tag_t{})
1617
151k
    {
1618
151k
    }
_ZN3scn2v48expectedIPKcNS0_10scan_errorEEC2IS4_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS4_OT_EEvE4typeELPv0ETnPNS8_IXsr3stdE16is_convertible_vISA_S4_EEvE4typeELSE_0EEEONS0_10unexpectedIS9_EE
Line
Count
Source
1615
32.8k
        : base(unexpect, std::move(e.error())),
1616
32.8k
          ctor_base(detail::non_default_ctor_tag_t{})
1617
32.8k
    {
1618
32.8k
    }
_ZN3scn2v48expectedIPKwNS0_10scan_errorEEC2IS4_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS4_OT_EEvE4typeELPv0ETnPNS8_IXsr3stdE16is_convertible_vISA_S4_EEvE4typeELSE_0EEEONS0_10unexpectedIS9_EE
Line
Count
Source
1615
18.2k
        : base(unexpect, std::move(e.error())),
1616
18.2k
          ctor_base(detail::non_default_ctor_tag_t{})
1617
18.2k
    {
1618
18.2k
    }
Unexecuted instantiation: _ZN3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_10scan_errorEEC2IS6_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS6_OT_EEvE4typeELPv0ETnPNSA_IXsr3stdE16is_convertible_vISC_S6_EEvE4typeELSG_0EEEONS0_10unexpectedISB_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_10scan_errorEEC2IS6_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS6_OT_EEvE4typeELPv0ETnPNSA_IXsr3stdE16is_convertible_vISC_S6_EEvE4typeELSG_0EEEONS0_10unexpectedISB_EE
_ZN3scn2v48expectedIvNS0_10scan_errorEEC2IS2_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS2_OT_EEvE4typeELPv0ETnPNS6_IXsr3stdE16is_convertible_vIS8_S2_EEvE4typeELSC_0EEEONS0_10unexpectedIS7_EE
Line
Count
Source
1615
361k
        : base(unexpect, std::move(e.error())),
1616
361k
          ctor_base(detail::non_default_ctor_tag_t{})
1617
361k
    {
1618
361k
    }
Unexecuted instantiation: _ZN3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEEC2IS7_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS7_OT_EEvE4typeELPv0ETnPNSB_IXsr3stdE16is_convertible_vISD_S7_EEvE4typeELSH_0EEEONS0_10unexpectedISC_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEEC2ISC_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSG_IXsr3stdE16is_convertible_vISI_SC_EEvE4typeELSM_0EEEONS0_10unexpectedISH_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEEC2ISL_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISL_OT_EEvE4typeELPv0ETnPNSP_IXsr3stdE16is_convertible_vISR_SL_EEvE4typeELSV_0EEEONS0_10unexpectedISQ_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEElEENS0_10scan_errorEEC2ISF_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISF_OT_EEvE4typeELPv0ETnPNSI_IXsr3stdE16is_convertible_vISK_SF_EEvE4typeELSO_0EEEONS0_10unexpectedISJ_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorElEENS0_10scan_errorEEC2IS9_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vIS9_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S9_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS0_10scan_errorEEC2ISC_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSG_IXsr3stdE16is_convertible_vISI_SC_EEvE4typeELSM_0EEEONS0_10unexpectedISH_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEEC2ISC_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSG_IXsr3stdE16is_convertible_vISI_SC_EEvE4typeELSM_0EEEONS0_10unexpectedISH_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEEC2INSC_4codeETnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSH_IXsr3stdE16is_convertible_vISJ_SC_EEvE4typeELSN_0EEEONS0_10unexpectedISI_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEEC2ISG_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISG_OT_EEvE4typeELPv0ETnPNSJ_IXsr3stdE16is_convertible_vISL_SG_EEvE4typeELSP_0EEEONS0_10unexpectedISK_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEEC2ISE_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISE_OT_EEvE4typeELPv0ETnPNSI_IXsr3stdE16is_convertible_vISK_SE_EEvE4typeELSO_0EEEONS0_10unexpectedISJ_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESJ_EEENS0_10scan_errorEEC2ISL_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISL_OT_EEvE4typeELPv0ETnPNSO_IXsr3stdE16is_convertible_vISQ_SL_EEvE4typeELSU_0EEEONS0_10unexpectedISP_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEEC2IS7_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS7_OT_EEvE4typeELPv0ETnPNSB_IXsr3stdE16is_convertible_vISD_S7_EEvE4typeELSH_0EEEONS0_10unexpectedISC_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEEC2INS7_4codeETnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS7_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S7_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEEC2ISB_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSE_IXsr3stdE16is_convertible_vISG_SB_EEvE4typeELSK_0EEEONS0_10unexpectedISF_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEENS2_9eof_errorEEC2IS9_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS9_OT_EEvE4typeELPv0ETnPNSD_IXsr3stdE16is_convertible_vISF_S9_EEvE4typeELSJ_0EEEONS0_10unexpectedISE_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__15tupleIJNS0_6detail17basic_scan_bufferIcE16forward_iteratorENS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESD_EEENS0_10scan_errorEEC2ISF_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISF_OT_EEvE4typeELPv0ETnPNSI_IXsr3stdE16is_convertible_vISK_SF_EEvE4typeELSO_0EEEONS0_10unexpectedISJ_EE
_ZN3scn2v48expectedIPKcNS0_4impl9eof_errorEEC2IS5_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS5_OT_EEvE4typeELPv0ETnPNS9_IXsr3stdE16is_convertible_vISB_S5_EEvE4typeELSF_0EEEONS0_10unexpectedISA_EE
Line
Count
Source
1615
552
        : base(unexpect, std::move(e.error())),
1616
552
          ctor_base(detail::non_default_ctor_tag_t{})
1617
552
    {
1618
552
    }
_ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_9eof_errorEEC2IS8_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS8_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S8_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE
Line
Count
Source
1615
482
        : base(unexpect, std::move(e.error())),
1616
482
          ctor_base(detail::non_default_ctor_tag_t{})
1617
482
    {
1618
482
    }
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEE8sentinelILb1EEEEENS2_9eof_errorEEC2ISI_TnPNS9_9enable_ifIXsr3stdE18is_constructible_vISI_OT_EEvE4typeELPv0ETnPNSL_IXsr3stdE16is_convertible_vISN_SI_EEvE4typeELSR_0EEEONS0_10unexpectedISM_EE
_ZN3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EElEENS0_10scan_errorEEC2ISB_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSE_IXsr3stdE16is_convertible_vISG_SB_EEvE4typeELSK_0EEEONS0_10unexpectedISF_EE
Line
Count
Source
1615
238
        : base(unexpect, std::move(e.error())),
1616
238
          ctor_base(detail::non_default_ctor_tag_t{})
1617
238
    {
1618
238
    }
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__14pairIPKclEENS0_10scan_errorEEC2IS7_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vIS7_OT_EEvE4typeELPv0ETnPNSA_IXsr3stdE16is_convertible_vISC_S7_EEvE4typeELSG_0EEEONS0_10unexpectedISB_EE
_ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS0_10scan_errorEEC2IS8_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS8_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S8_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE
Line
Count
Source
1615
5.18k
        : base(unexpect, std::move(e.error())),
1616
5.18k
          ctor_base(detail::non_default_ctor_tag_t{})
1617
5.18k
    {
1618
5.18k
    }
_ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_11parse_errorEEC2IS8_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS8_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S8_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE
Line
Count
Source
1615
780
        : base(unexpect, std::move(e.error())),
1616
780
          ctor_base(detail::non_default_ctor_tag_t{})
1617
780
    {
1618
780
    }
_ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_11parse_errorEEC2INS8_4codeETnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS8_OT_EEvE4typeELPv0ETnPNSD_IXsr3stdE16is_convertible_vISF_S8_EEvE4typeELSJ_0EEEONS0_10unexpectedISE_EE
Line
Count
Source
1615
5.56k
        : base(unexpect, std::move(e.error())),
1616
5.56k
          ctor_base(detail::non_default_ctor_tag_t{})
1617
5.56k
    {
1618
5.56k
    }
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9sign_typeEEENS4_9eof_errorEEC2ISC_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SC_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEENS2_9eof_errorEEC2ISA_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISA_OT_EEvE4typeELPv0ETnPNSE_IXsr3stdE16is_convertible_vISG_SA_EEvE4typeELSK_0EEEONS0_10unexpectedISF_EE
_ZN3scn2v48expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESF_EEENS0_10scan_errorEEC2ISH_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISH_OT_EEvE4typeELPv0ETnPNSK_IXsr3stdE16is_convertible_vISM_SH_EEvE4typeELSQ_0EEEONS0_10unexpectedISL_EE
Line
Count
Source
1615
24
        : base(unexpect, std::move(e.error())),
1616
24
          ctor_base(detail::non_default_ctor_tag_t{})
1617
24
    {
1618
24
    }
_ZN3scn2v48expectedIPKcNS0_4impl11parse_errorEEC2IS5_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS5_OT_EEvE4typeELPv0ETnPNS9_IXsr3stdE16is_convertible_vISB_S5_EEvE4typeELSF_0EEEONS0_10unexpectedISA_EE
Line
Count
Source
1615
1.02k
        : base(unexpect, std::move(e.error())),
1616
1.02k
          ctor_base(detail::non_default_ctor_tag_t{})
1617
1.02k
    {
1618
1.02k
    }
_ZN3scn2v48expectedIPKcNS0_4impl11parse_errorEEC2INS5_4codeETnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS5_OT_EEvE4typeELPv0ETnPNSA_IXsr3stdE16is_convertible_vISC_S5_EEvE4typeELSG_0EEEONS0_10unexpectedISB_EE
Line
Count
Source
1615
11.2k
        : base(unexpect, std::move(e.error())),
1616
11.2k
          ctor_base(detail::non_default_ctor_tag_t{})
1617
11.2k
    {
1618
11.2k
    }
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS6_9eof_errorEEC2IS9_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vIS9_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S9_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS2_9eof_errorEEC2IS7_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS7_OT_EEvE4typeELPv0ETnPNSB_IXsr3stdE16is_convertible_vISD_S7_EEvE4typeELSH_0EEEONS0_10unexpectedISC_EE
_ZN3scn2v48expectedINSt3__15tupleIJPKcNS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESB_EEENS0_10scan_errorEEC2ISD_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISD_OT_EEvE4typeELPv0ETnPNSG_IXsr3stdE16is_convertible_vISI_SD_EEvE4typeELSM_0EEEONS0_10unexpectedISH_EE
Line
Count
Source
1615
20
        : base(unexpect, std::move(e.error())),
1616
20
          ctor_base(detail::non_default_ctor_tag_t{})
1617
20
    {
1618
20
    }
Unexecuted instantiation: _ZN3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEEC2IS7_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS7_OT_EEvE4typeELPv0ETnPNSB_IXsr3stdE16is_convertible_vISD_S7_EEvE4typeELSH_0EEEONS0_10unexpectedISC_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEEC2ISC_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSG_IXsr3stdE16is_convertible_vISI_SC_EEvE4typeELSM_0EEEONS0_10unexpectedISH_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEEC2ISL_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISL_OT_EEvE4typeELPv0ETnPNSP_IXsr3stdE16is_convertible_vISR_SL_EEvE4typeELSV_0EEEONS0_10unexpectedISQ_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEElEENS0_10scan_errorEEC2ISF_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISF_OT_EEvE4typeELPv0ETnPNSI_IXsr3stdE16is_convertible_vISK_SF_EEvE4typeELSO_0EEEONS0_10unexpectedISJ_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorElEENS0_10scan_errorEEC2IS9_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vIS9_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S9_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS0_10scan_errorEEC2ISC_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSG_IXsr3stdE16is_convertible_vISI_SC_EEvE4typeELSM_0EEEONS0_10unexpectedISH_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEEC2ISC_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSG_IXsr3stdE16is_convertible_vISI_SC_EEvE4typeELSM_0EEEONS0_10unexpectedISH_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEEC2INSC_4codeETnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSH_IXsr3stdE16is_convertible_vISJ_SC_EEvE4typeELSN_0EEEONS0_10unexpectedISI_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEEC2ISG_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISG_OT_EEvE4typeELPv0ETnPNSJ_IXsr3stdE16is_convertible_vISL_SG_EEvE4typeELSP_0EEEONS0_10unexpectedISK_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEEC2ISE_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISE_OT_EEvE4typeELPv0ETnPNSI_IXsr3stdE16is_convertible_vISK_SE_EEvE4typeELSO_0EEEONS0_10unexpectedISJ_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENSE_IcNSF_IcEENSH_IcEEEEEEENS0_10scan_errorEEC2ISO_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISO_OT_EEvE4typeELPv0ETnPNSR_IXsr3stdE16is_convertible_vIST_SO_EEvE4typeELSX_0EEEONS0_10unexpectedISS_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEEC2IS7_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS7_OT_EEvE4typeELPv0ETnPNSB_IXsr3stdE16is_convertible_vISD_S7_EEvE4typeELSH_0EEEONS0_10unexpectedISC_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEEC2INS7_4codeETnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS7_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S7_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEEC2ISB_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSE_IXsr3stdE16is_convertible_vISG_SB_EEvE4typeELSK_0EEEONS0_10unexpectedISF_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEENS2_9eof_errorEEC2IS9_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS9_OT_EEvE4typeELPv0ETnPNSD_IXsr3stdE16is_convertible_vISF_S9_EEvE4typeELSJ_0EEEONS0_10unexpectedISE_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__15tupleIJNS0_6detail17basic_scan_bufferIwE16forward_iteratorENS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENS8_IcNS9_IcEENSB_IcEEEEEEENS0_10scan_errorEEC2ISI_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISI_OT_EEvE4typeELPv0ETnPNSL_IXsr3stdE16is_convertible_vISN_SI_EEvE4typeELSR_0EEEONS0_10unexpectedISM_EE
_ZN3scn2v48expectedIPKwNS0_4impl9eof_errorEEC2IS5_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS5_OT_EEvE4typeELPv0ETnPNS9_IXsr3stdE16is_convertible_vISB_S5_EEvE4typeELSF_0EEEONS0_10unexpectedISA_EE
Line
Count
Source
1615
176
        : base(unexpect, std::move(e.error())),
1616
176
          ctor_base(detail::non_default_ctor_tag_t{})
1617
176
    {
1618
176
    }
_ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_9eof_errorEEC2IS8_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS8_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S8_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE
Line
Count
Source
1615
310
        : base(unexpect, std::move(e.error())),
1616
310
          ctor_base(detail::non_default_ctor_tag_t{})
1617
310
    {
1618
310
    }
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEE8sentinelILb1EEEEENS2_9eof_errorEEC2ISI_TnPNS9_9enable_ifIXsr3stdE18is_constructible_vISI_OT_EEvE4typeELPv0ETnPNSL_IXsr3stdE16is_convertible_vISN_SI_EEvE4typeELSR_0EEEONS0_10unexpectedISM_EE
_ZN3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EElEENS0_10scan_errorEEC2ISB_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSE_IXsr3stdE16is_convertible_vISG_SB_EEvE4typeELSK_0EEEONS0_10unexpectedISF_EE
Line
Count
Source
1615
74
        : base(unexpect, std::move(e.error())),
1616
74
          ctor_base(detail::non_default_ctor_tag_t{})
1617
74
    {
1618
74
    }
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__14pairIPKwlEENS0_10scan_errorEEC2IS7_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vIS7_OT_EEvE4typeELPv0ETnPNSA_IXsr3stdE16is_convertible_vISC_S7_EEvE4typeELSG_0EEEONS0_10unexpectedISB_EE
_ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS0_10scan_errorEEC2IS8_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS8_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S8_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE
Line
Count
Source
1615
1.72k
        : base(unexpect, std::move(e.error())),
1616
1.72k
          ctor_base(detail::non_default_ctor_tag_t{})
1617
1.72k
    {
1618
1.72k
    }
_ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_11parse_errorEEC2IS8_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS8_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S8_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE
Line
Count
Source
1615
492
        : base(unexpect, std::move(e.error())),
1616
492
          ctor_base(detail::non_default_ctor_tag_t{})
1617
492
    {
1618
492
    }
_ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_11parse_errorEEC2INS8_4codeETnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS8_OT_EEvE4typeELPv0ETnPNSD_IXsr3stdE16is_convertible_vISF_S8_EEvE4typeELSJ_0EEEONS0_10unexpectedISE_EE
Line
Count
Source
1615
2.73k
        : base(unexpect, std::move(e.error())),
1616
2.73k
          ctor_base(detail::non_default_ctor_tag_t{})
1617
2.73k
    {
1618
2.73k
    }
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9sign_typeEEENS4_9eof_errorEEC2ISC_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SC_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEENS2_9eof_errorEEC2ISA_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISA_OT_EEvE4typeELPv0ETnPNSE_IXsr3stdE16is_convertible_vISG_SA_EEvE4typeELSK_0EEEONS0_10unexpectedISF_EE
_ZN3scn2v48expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENSA_IcNSB_IcEENSD_IcEEEEEEENS0_10scan_errorEEC2ISK_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISK_OT_EEvE4typeELPv0ETnPNSN_IXsr3stdE16is_convertible_vISP_SK_EEvE4typeELST_0EEEONS0_10unexpectedISO_EE
Line
Count
Source
1615
40
        : base(unexpect, std::move(e.error())),
1616
40
          ctor_base(detail::non_default_ctor_tag_t{})
1617
40
    {
1618
40
    }
_ZN3scn2v48expectedIPKwNS0_4impl11parse_errorEEC2IS5_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS5_OT_EEvE4typeELPv0ETnPNS9_IXsr3stdE16is_convertible_vISB_S5_EEvE4typeELSF_0EEEONS0_10unexpectedISA_EE
Line
Count
Source
1615
1.12k
        : base(unexpect, std::move(e.error())),
1616
1.12k
          ctor_base(detail::non_default_ctor_tag_t{})
1617
1.12k
    {
1618
1.12k
    }
_ZN3scn2v48expectedIPKwNS0_4impl11parse_errorEEC2INS5_4codeETnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS5_OT_EEvE4typeELPv0ETnPNSA_IXsr3stdE16is_convertible_vISC_S5_EEvE4typeELSG_0EEEONS0_10unexpectedISB_EE
Line
Count
Source
1615
10.9k
        : base(unexpect, std::move(e.error())),
1616
10.9k
          ctor_base(detail::non_default_ctor_tag_t{})
1617
10.9k
    {
1618
10.9k
    }
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS6_9eof_errorEEC2IS9_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vIS9_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S9_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS2_9eof_errorEEC2IS7_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS7_OT_EEvE4typeELPv0ETnPNSB_IXsr3stdE16is_convertible_vISD_S7_EEvE4typeELSH_0EEEONS0_10unexpectedISC_EE
_ZN3scn2v48expectedINSt3__15tupleIJPKwNS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENS6_IcNS7_IcEENS9_IcEEEEEEENS0_10scan_errorEEC2ISG_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISG_OT_EEvE4typeELPv0ETnPNSJ_IXsr3stdE16is_convertible_vISL_SG_EEvE4typeELSP_0EEEONS0_10unexpectedISK_EE
Line
Count
Source
1615
40
        : base(unexpect, std::move(e.error())),
1616
40
          ctor_base(detail::non_default_ctor_tag_t{})
1617
40
    {
1618
40
    }
_ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEEC2ISI_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISI_OT_EEvE4typeELPv0ETnPNSM_IXsr3stdE16is_convertible_vISO_SI_EEvE4typeELSS_0EEEONS0_10unexpectedISN_EE
Line
Count
Source
1615
346
        : base(unexpect, std::move(e.error())),
1616
346
          ctor_base(detail::non_default_ctor_tag_t{})
1617
346
    {
1618
346
    }
_ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEEC2ISI_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISI_OT_EEvE4typeELPv0ETnPNSM_IXsr3stdE16is_convertible_vISO_SI_EEvE4typeELSS_0EEEONS0_10unexpectedISN_EE
Line
Count
Source
1615
74
        : base(unexpect, std::move(e.error())),
1616
74
          ctor_base(detail::non_default_ctor_tag_t{})
1617
74
    {
1618
74
    }
Unexecuted instantiation: _ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEJNSt3__112basic_stringIcNSD_11char_traitsIcEENSD_9allocatorIcEEEEEEENS0_10scan_errorEEC2ISL_TnPNSD_9enable_ifIXsr3stdE18is_constructible_vISL_OT_EEvE4typeELPv0ETnPNSO_IXsr3stdE16is_convertible_vISQ_SL_EEvE4typeELSU_0EEEONS0_10unexpectedISP_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS2_18default_sentinel_tEEENS0_10scan_errorEEC2ISC_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSG_IXsr3stdE16is_convertible_vISI_SC_EEvE4typeELSM_0EEEONS0_10unexpectedISH_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__111__wrap_iterIPcEESA_EEJdEEENS0_10scan_errorEEC2ISD_TnPNS7_9enable_ifIXsr3stdE18is_constructible_vISD_OT_EEvE4typeELPv0ETnPNSG_IXsr3stdE16is_convertible_vISI_SD_EEvE4typeELSM_0EEEONS0_10unexpectedISH_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeINSt3__111__wrap_iterIPcEES9_EENS0_10scan_errorEEC2ISB_TnPNS6_9enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSE_IXsr3stdE16is_convertible_vISG_SB_EEvE4typeELSK_0EEEONS0_10unexpectedISF_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEJNSt3__112basic_stringIcNSD_11char_traitsIcEENSD_9allocatorIcEEEEEEENS0_10scan_errorEEC2ISL_TnPNSD_9enable_ifIXsr3stdE18is_constructible_vISL_OT_EEvE4typeELPv0ETnPNSO_IXsr3stdE16is_convertible_vISQ_SL_EEvE4typeELSU_0EEEONS0_10unexpectedISP_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS2_18default_sentinel_tEEENS0_10scan_errorEEC2ISC_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSG_IXsr3stdE16is_convertible_vISI_SC_EEvE4typeELSM_0EEEONS0_10unexpectedISH_EE
1619
1620
    /// Construct an unexpected value directly in-place
1621
    template <typename... Args,
1622
              typename = std::enable_if_t<std::is_constructible_v<E, Args...>>>
1623
    explicit constexpr expected(unexpect_t, Args&&... args) noexcept(
1624
        std::is_nothrow_constructible_v<base, unexpect_t, Args&&...>)
1625
5.77k
        : base(unexpect, std::forward<Args>(args)...),
1626
5.77k
          ctor_base(detail::non_default_ctor_tag_t{})
1627
5.77k
    {
1628
5.77k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
scn::v4::expected<char const*, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
1625
938
        : base(unexpect, std::forward<Args>(args)...),
1626
938
          ctor_base(detail::non_default_ctor_tag_t{})
1627
938
    {
1628
938
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error>::expected<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error>::expected<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
1625
1.76k
        : base(unexpect, std::forward<Args>(args)...),
1626
1.76k
          ctor_base(detail::non_default_ctor_tag_t{})
1627
1.76k
    {
1628
1.76k
    }
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error>::expected<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Line
Count
Source
1625
414
        : base(unexpect, std::forward<Args>(args)...),
1626
414
          ctor_base(detail::non_default_ctor_tag_t{})
1627
414
    {
1628
414
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error>::expected<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error>::expected<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
1625
804
        : base(unexpect, std::forward<Args>(args)...),
1626
804
          ctor_base(detail::non_default_ctor_tag_t{})
1627
804
    {
1628
804
    }
scn::v4::expected<wchar_t const*, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
1625
964
        : base(unexpect, std::forward<Args>(args)...),
1626
964
          ctor_base(detail::non_default_ctor_tag_t{})
1627
964
    {
1628
964
    }
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error>::expected<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Line
Count
Source
1625
292
        : base(unexpect, std::forward<Args>(args)...),
1626
292
          ctor_base(detail::non_default_ctor_tag_t{})
1627
292
    {
1628
292
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
scn::v4::expected<wchar_t const*, scn::v4::impl::parse_error>::expected<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Line
Count
Source
1625
176
        : base(unexpect, std::forward<Args>(args)...),
1626
176
          ctor_base(detail::non_default_ctor_tag_t{})
1627
176
    {
1628
176
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
scn::v4::expected<char const*, scn::v4::impl::parse_error>::expected<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Line
Count
Source
1625
102
        : base(unexpect, std::forward<Args>(args)...),
1626
102
          ctor_base(detail::non_default_ctor_tag_t{})
1627
102
    {
1628
102
    }
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
1625
238
        : base(unexpect, std::forward<Args>(args)...),
1626
238
          ctor_base(detail::non_default_ctor_tag_t{})
1627
238
    {
1628
238
    }
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
1625
74
        : base(unexpect, std::forward<Args>(args)...),
1626
74
          ctor_base(detail::non_default_ctor_tag_t{})
1627
74
    {
1628
74
    }
1629
1630
    template <
1631
        typename U,
1632
        typename G,
1633
        std::enable_if_t<!(std::is_convertible_v<const U&, T> &&
1634
                           std::is_convertible_v<const G&, E>)>* = nullptr,
1635
        detail::enable_from_other<T, E, U, G, const U&, const G&>* = nullptr>
1636
    explicit constexpr expected(const expected<U, G>& other) noexcept(
1637
        std::is_nothrow_constructible_v<T, const U&> &&
1638
        std::is_nothrow_constructible_v<E, const G&>)
1639
        : base(), ctor_base(detail::non_default_ctor_tag_t{})
1640
    {
1641
        if (other.has_value()) {
1642
            this->construct(*other);
1643
        }
1644
        else {
1645
            this->construct_unexpected(other.error());
1646
        }
1647
    }
1648
    template <
1649
        typename U,
1650
        typename G,
1651
        std::enable_if_t<(std::is_convertible_v<const U&, T> &&
1652
                          std::is_convertible_v<const G&, E>)>* = nullptr,
1653
        detail::enable_from_other<T, E, U, G, const U&, const G&>* = nullptr>
1654
    constexpr expected(const expected<U, G>& other) noexcept(
1655
        std::is_nothrow_constructible_v<T, const U&> &&
1656
        std::is_nothrow_constructible_v<E, const G&>)
1657
        : base(), ctor_base(detail::non_default_ctor_tag_t{})
1658
    {
1659
        if (other.has_value()) {
1660
            this->construct(*other);
1661
        }
1662
        else {
1663
            this->construct_unexpected(other.error());
1664
        }
1665
    }
1666
1667
    template <typename U,
1668
              typename G,
1669
              std::enable_if_t<!(std::is_convertible_v<U&&, T> &&
1670
                                 std::is_convertible_v<G&&, E>)>* = nullptr,
1671
              detail::enable_from_other<T, E, U, G, U&&, G&&>* = nullptr>
1672
    explicit constexpr expected(expected<U, G>&& other) noexcept(
1673
        std::is_nothrow_constructible_v<T, U&&> &&
1674
        std::is_nothrow_constructible_v<E, G&&>)
1675
        : base(), ctor_base(detail::non_default_ctor_tag_t{})
1676
    {
1677
        if (other.has_value()) {
1678
            this->construct(std::move(*other));
1679
        }
1680
        else {
1681
            this->construct_unexpected(std::move(other.error()));
1682
        }
1683
    }
1684
    template <typename U,
1685
              typename G,
1686
              std::enable_if_t<(std::is_convertible_v<U&&, T> &&
1687
                                std::is_convertible_v<G&&, E>)>* = nullptr,
1688
              detail::enable_from_other<T, E, U, G, U&&, G&&>* = nullptr>
1689
    constexpr expected(expected<U, G>&& other) noexcept(
1690
        std::is_nothrow_constructible_v<T, U&&> &&
1691
        std::is_nothrow_constructible_v<E, G&&>)
1692
        : base(), ctor_base(detail::non_default_ctor_tag_t{})
1693
    {
1694
        if (other.has_value()) {
1695
            this->construct(std::move(*other));
1696
        }
1697
        else {
1698
            this->construct_unexpected(std::move(other.error()));
1699
        }
1700
    }
1701
1702
    template <typename U = value_type,
1703
              typename = std::enable_if_t<std::is_convertible_v<U, value_type>>>
1704
    expected& operator=(U&& val) noexcept(
1705
        noexcept(assign_value(std::forward<U>(val))))
1706
    {
1707
        assign_value(std::forward<U>(val));
1708
        return *this;
1709
    }
1710
1711
    expected& operator=(const unexpected_type& unex) noexcept(
1712
        noexcept(assign_unexpected(unex)))
1713
    {
1714
        assign_unexpected(unex);
1715
        return *this;
1716
    }
1717
    expected& operator=(unexpected_type&& unex) noexcept(
1718
        noexcept(assign_unexpected(std::move(unex))))
1719
    {
1720
        assign_unexpected(std::move(unex));
1721
        return *this;
1722
    }
1723
1724
    /// Destroys the contained value, and then initializes the expected
1725
    /// value directly in-place.
1726
    template <typename... Args,
1727
              std::enable_if_t<std::is_constructible_v<T, Args...>>* = nullptr>
1728
    decltype(auto) emplace(Args&&... args) noexcept(
1729
        std::is_nothrow_constructible_v<T, Args...>)
1730
    {
1731
        emplace_impl(std::forward<Args>(args)...);
1732
        if constexpr (!std::is_void_v<T>) {
1733
            return this->get_value();
1734
        }
1735
    }
1736
1737
    using base::has_value;
1738
    constexpr explicit operator bool() const noexcept
1739
2.78M
    {
1740
2.78M
        return has_value();
1741
2.78M
    }
scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1739
50.6k
    {
1740
50.6k
        return has_value();
1741
50.6k
    }
scn::v4::expected<long, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1739
157k
    {
1740
157k
        return has_value();
1741
157k
    }
scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1739
101k
    {
1740
101k
        return has_value();
1741
101k
    }
scn::v4::expected<void, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1739
2.22M
    {
1740
2.22M
        return has_value();
1741
2.22M
    }
Unexecuted instantiation: scn::v4::expected<wchar_t, scn::v4::scan_error>::operator bool() const
scn::v4::expected<char const*, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1739
57.8k
    {
1740
57.8k
        return has_value();
1741
57.8k
    }
scn::v4::expected<wchar_t const*, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1739
39.7k
    {
1740
39.7k
        return has_value();
1741
39.7k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error>::operator bool() const
scn::v4::expected<char const*, scn::v4::impl::eof_error>::operator bool() const
Line
Count
Source
1739
36.1k
    {
1740
36.1k
        return has_value();
1741
36.1k
    }
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::eof_error>::operator bool() const
Line
Count
Source
1739
6.56k
    {
1740
6.56k
        return has_value();
1741
6.56k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::scan_error>::operator bool() const
scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1739
5.23k
    {
1740
5.23k
        return has_value();
1741
5.23k
    }
scn::v4::expected<std::__1::pair<char const*, long>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1739
9.31k
    {
1740
9.31k
        return has_value();
1741
9.31k
    }
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error>::operator bool() const
Line
Count
Source
1739
8.02k
    {
1740
8.02k
        return has_value();
1741
8.02k
    }
scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator bool() const
Line
Count
Source
1739
1.06k
    {
1740
1.06k
        return has_value();
1741
1.06k
    }
scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1739
1.06k
    {
1740
1.06k
        return has_value();
1741
1.06k
    }
scn::v4::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1739
24
    {
1740
24
        return has_value();
1741
24
    }
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1739
10.7k
    {
1740
10.7k
        return has_value();
1741
10.7k
    }
scn::v4::expected<char const*, scn::v4::impl::parse_error>::operator bool() const
Line
Count
Source
1739
15.2k
    {
1740
15.2k
        return has_value();
1741
15.2k
    }
scn::v4::expected<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator bool() const
Line
Count
Source
1739
2.73k
    {
1740
2.73k
        return has_value();
1741
2.73k
    }
scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1739
2.73k
    {
1740
2.73k
        return has_value();
1741
2.73k
    }
scn::v4::expected<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1739
20
    {
1740
20
        return has_value();
1741
20
    }
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error>::operator bool() const
scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1739
366
    {
1740
366
        return has_value();
1741
366
    }
scn::v4::expected<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1739
916
    {
1740
916
        return has_value();
1741
916
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error>::operator bool() const
scn::v4::expected<wchar_t const*, scn::v4::impl::eof_error>::operator bool() const
Line
Count
Source
1739
5.49k
    {
1740
5.49k
        return has_value();
1741
5.49k
    }
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::eof_error>::operator bool() const
Line
Count
Source
1739
1.22k
    {
1740
1.22k
        return has_value();
1741
1.22k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::scan_error>::operator bool() const
scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1739
2.20k
    {
1740
2.20k
        return has_value();
1741
2.20k
    }
scn::v4::expected<std::__1::pair<wchar_t const*, long>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1739
6.39k
    {
1740
6.39k
        return has_value();
1741
6.39k
    }
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error>::operator bool() const
Line
Count
Source
1739
4.19k
    {
1740
4.19k
        return has_value();
1741
4.19k
    }
scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator bool() const
Line
Count
Source
1739
572
    {
1740
572
        return has_value();
1741
572
    }
scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1739
572
    {
1740
572
        return has_value();
1741
572
    }
scn::v4::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1739
48
    {
1740
48
        return has_value();
1741
48
    }
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1739
4.76k
    {
1740
4.76k
        return has_value();
1741
4.76k
    }
scn::v4::expected<wchar_t const*, scn::v4::impl::parse_error>::operator bool() const
Line
Count
Source
1739
18.6k
    {
1740
18.6k
        return has_value();
1741
18.6k
    }
scn::v4::expected<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator bool() const
Line
Count
Source
1739
2.70k
    {
1740
2.70k
        return has_value();
1741
2.70k
    }
scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1739
2.70k
    {
1740
2.70k
        return has_value();
1741
2.70k
    }
scn::v4::expected<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1739
44
    {
1740
44
        return has_value();
1741
44
    }
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error>::operator bool() const
scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1739
182
    {
1740
182
        return has_value();
1741
182
    }
scn::v4::expected<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1739
948
    {
1740
948
        return has_value();
1741
948
    }
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::eof_error>::operator bool() const
Line
Count
Source
1739
802
    {
1740
802
        return has_value();
1741
802
    }
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1739
2.33k
    {
1740
2.33k
        return has_value();
1741
2.33k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::eof_error>::operator bool() const
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1739
1.12k
    {
1740
1.12k
        return has_value();
1741
1.12k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator bool() const
1742
1743
    /// Get the unexpected value, if one is contained in *this
1744
    constexpr error_type& error() & noexcept
1745
544k
    {
1746
544k
        SCN_EXPECT(!has_value());
1747
544k
        return this->get_unexpected().error();
1748
544k
    }
scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::scan_error>::error() &
Line
Count
Source
1745
48.5k
    {
1746
48.5k
        SCN_EXPECT(!has_value());
1747
48.5k
        return this->get_unexpected().error();
1748
48.5k
    }
scn::v4::expected<long, scn::v4::scan_error>::error() &
Line
Count
Source
1745
154k
    {
1746
154k
        SCN_EXPECT(!has_value());
1747
154k
        return this->get_unexpected().error();
1748
154k
    }
scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::scan_error>::error() &
Line
Count
Source
1745
99.4k
    {
1746
99.4k
        SCN_EXPECT(!has_value());
1747
99.4k
        return this->get_unexpected().error();
1748
99.4k
    }
scn::v4::expected<void, scn::v4::scan_error>::error() &
Line
Count
Source
1745
164k
    {
1746
164k
        SCN_EXPECT(!has_value());
1747
164k
        return this->get_unexpected().error();
1748
164k
    }
Unexecuted instantiation: scn::v4::expected<wchar_t, scn::v4::scan_error>::error() &
scn::v4::expected<char const*, scn::v4::scan_error>::error() &
Line
Count
Source
1745
32.8k
    {
1746
32.8k
        SCN_EXPECT(!has_value());
1747
32.8k
        return this->get_unexpected().error();
1748
32.8k
    }
scn::v4::expected<wchar_t const*, scn::v4::scan_error>::error() &
Line
Count
Source
1745
18.2k
    {
1746
18.2k
        SCN_EXPECT(!has_value());
1747
18.2k
        return this->get_unexpected().error();
1748
18.2k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::scan_error>::error() &
scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, scn::v4::scan_error>::error() &
Line
Count
Source
1745
238
    {
1746
238
        SCN_EXPECT(!has_value());
1747
238
        return this->get_unexpected().error();
1748
238
    }
Unexecuted instantiation: scn::v4::expected<std::__1::pair<char const*, long>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::eof_error>::error() &
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error>::error() &
Line
Count
Source
1745
2.93k
    {
1746
2.93k
        SCN_EXPECT(!has_value());
1747
2.93k
        return this->get_unexpected().error();
1748
2.93k
    }
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::scan_error>::error() &
scn::v4::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::error() &
Line
Count
Source
1745
24
    {
1746
24
        SCN_EXPECT(!has_value());
1747
24
        return this->get_unexpected().error();
1748
24
    }
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error>::error() &
Line
Count
Source
1745
6.59k
    {
1746
6.59k
        SCN_EXPECT(!has_value());
1747
6.59k
        return this->get_unexpected().error();
1748
6.59k
    }
Unexecuted instantiation: scn::v4::expected<char const*, scn::v4::impl::eof_error>::error() &
scn::v4::expected<char const*, scn::v4::impl::parse_error>::error() &
Line
Count
Source
1745
5.60k
    {
1746
5.60k
        SCN_EXPECT(!has_value());
1747
5.60k
        return this->get_unexpected().error();
1748
5.60k
    }
Unexecuted instantiation: scn::v4::expected<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::scan_error>::error() &
scn::v4::expected<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::error() &
Line
Count
Source
1745
20
    {
1746
20
        SCN_EXPECT(!has_value());
1747
20
        return this->get_unexpected().error();
1748
20
    }
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::scan_error>::error() &
scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, scn::v4::scan_error>::error() &
Line
Count
Source
1745
74
    {
1746
74
        SCN_EXPECT(!has_value());
1747
74
        return this->get_unexpected().error();
1748
74
    }
Unexecuted instantiation: scn::v4::expected<std::__1::pair<wchar_t const*, long>, scn::v4::scan_error>::error() &
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::eof_error>::error() &
Line
Count
Source
1745
18
    {
1746
18
        SCN_EXPECT(!has_value());
1747
18
        return this->get_unexpected().error();
1748
18
    }
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error>::error() &
Line
Count
Source
1745
1.56k
    {
1746
1.56k
        SCN_EXPECT(!has_value());
1747
1.56k
        return this->get_unexpected().error();
1748
1.56k
    }
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::scan_error>::error() &
scn::v4::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::error() &
Line
Count
Source
1745
40
    {
1746
40
        SCN_EXPECT(!has_value());
1747
40
        return this->get_unexpected().error();
1748
40
    }
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error>::error() &
Line
Count
Source
1745
2.34k
    {
1746
2.34k
        SCN_EXPECT(!has_value());
1747
2.34k
        return this->get_unexpected().error();
1748
2.34k
    }
Unexecuted instantiation: scn::v4::expected<wchar_t const*, scn::v4::impl::eof_error>::error() &
scn::v4::expected<wchar_t const*, scn::v4::impl::parse_error>::error() &
Line
Count
Source
1745
5.74k
    {
1746
5.74k
        SCN_EXPECT(!has_value());
1747
5.74k
        return this->get_unexpected().error();
1748
5.74k
    }
Unexecuted instantiation: scn::v4::expected<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::scan_error>::error() &
scn::v4::expected<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::error() &
Line
Count
Source
1745
40
    {
1746
40
        SCN_EXPECT(!has_value());
1747
40
        return this->get_unexpected().error();
1748
40
    }
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::scan_error>::error() &
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::scan_error>::error() &
Line
Count
Source
1745
238
    {
1746
238
        SCN_EXPECT(!has_value());
1747
238
        return this->get_unexpected().error();
1748
238
    }
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::scan_error>::error() &
Line
Count
Source
1745
74
    {
1746
74
        SCN_EXPECT(!has_value());
1747
74
        return this->get_unexpected().error();
1748
74
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::eof_error>::error() &
1749
    constexpr const error_type& error() const& noexcept
1750
0
    {
1751
0
        SCN_EXPECT(!has_value());
1752
0
        return this->get_unexpected().error();
1753
0
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<char const*, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<char const*, scn::v4::impl::parse_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<wchar_t const*, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<wchar_t const*, scn::v4::impl::parse_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::eof_error>::error() const &
1754
    constexpr error_type&& error() && noexcept
1755
7.27k
    {
1756
7.27k
        SCN_EXPECT(!has_value());
1757
7.27k
        return std::move(this->get_unexpected().error());
1758
7.27k
    }
scn::v4::expected<void, scn::v4::scan_error>::error() &&
Line
Count
Source
1755
4.47k
    {
1756
4.47k
        SCN_EXPECT(!has_value());
1757
4.47k
        return std::move(this->get_unexpected().error());
1758
4.47k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::eof_error>::error() &&
scn::v4::expected<char const*, scn::v4::impl::eof_error>::error() &&
Line
Count
Source
1755
102
    {
1756
102
        SCN_EXPECT(!has_value());
1757
102
        return std::move(this->get_unexpected().error());
1758
102
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::eof_error>::error() &&
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::eof_error>::error() &&
Line
Count
Source
1755
414
    {
1756
414
        SCN_EXPECT(!has_value());
1757
414
        return std::move(this->get_unexpected().error());
1758
414
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::impl::eof_error>::error() &&
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error>::error() &&
Line
Count
Source
1755
1.03k
    {
1756
1.03k
        SCN_EXPECT(!has_value());
1757
1.03k
        return std::move(this->get_unexpected().error());
1758
1.03k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::eof_error>::error() &&
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::eof_error>::error() &&
Line
Count
Source
1755
292
    {
1756
292
        SCN_EXPECT(!has_value());
1757
292
        return std::move(this->get_unexpected().error());
1758
292
    }
scn::v4::expected<wchar_t const*, scn::v4::impl::eof_error>::error() &&
Line
Count
Source
1755
176
    {
1756
176
        SCN_EXPECT(!has_value());
1757
176
        return std::move(this->get_unexpected().error());
1758
176
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::impl::eof_error>::error() &&
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error>::error() &&
Line
Count
Source
1755
464
    {
1756
464
        SCN_EXPECT(!has_value());
1757
464
        return std::move(this->get_unexpected().error());
1758
464
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &&
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::eof_error>::error() &&
Line
Count
Source
1755
238
    {
1756
238
        SCN_EXPECT(!has_value());
1757
238
        return std::move(this->get_unexpected().error());
1758
238
    }
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::eof_error>::error() &&
Line
Count
Source
1755
74
    {
1756
74
        SCN_EXPECT(!has_value());
1757
74
        return std::move(this->get_unexpected().error());
1758
74
    }
1759
    constexpr const error_type&& error() const&& noexcept
1760
    {
1761
        SCN_EXPECT(!has_value());
1762
        return std::move(this->get_unexpected().error());
1763
    }
1764
1765
    /// Get the expected value, if one is contained in *this
1766
    template <typename U = T, std::enable_if_t<!std::is_void_v<U>>* = nullptr>
1767
    constexpr U& value() & noexcept
1768
339k
    {
1769
339k
        SCN_EXPECT(has_value());
1770
339k
        return this->get_value();
1771
339k
    }
_ZNR3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeIPKcS7_EENS0_10scan_errorEE5valueIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSE_v
Line
Count
Source
1768
2.11k
    {
1769
2.11k
        SCN_EXPECT(has_value());
1770
2.11k
        return this->get_value();
1771
2.11k
    }
_ZNR3scn2v48expectedIlNS0_10scan_errorEE5valueIlTnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERS7_v
Line
Count
Source
1768
4.16k
    {
1769
4.16k
        SCN_EXPECT(has_value());
1770
4.16k
        return this->get_value();
1771
4.16k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJcEEENS0_10scan_errorEE5valueISA_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Line
Count
Source
1768
5.89k
    {
1769
5.89k
        SCN_EXPECT(has_value());
1770
5.89k
        return this->get_value();
1771
5.89k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJiEEENS0_10scan_errorEE5valueISA_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Line
Count
Source
1768
5.62k
    {
1769
5.62k
        SCN_EXPECT(has_value());
1770
5.62k
        return this->get_value();
1771
5.62k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJjEEENS0_10scan_errorEE5valueISA_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Line
Count
Source
1768
5.62k
    {
1769
5.62k
        SCN_EXPECT(has_value());
1770
5.62k
        return this->get_value();
1771
5.62k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJdEEENS0_10scan_errorEE5valueISA_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Line
Count
Source
1768
5.62k
    {
1769
5.62k
        SCN_EXPECT(has_value());
1770
5.62k
        return this->get_value();
1771
5.62k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJbEEENS0_10scan_errorEE5valueISA_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Line
Count
Source
1768
5.62k
    {
1769
5.62k
        SCN_EXPECT(has_value());
1770
5.62k
        return this->get_value();
1771
5.62k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJPvEEENS0_10scan_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELSA_0EEERSH_v
Line
Count
Source
1768
5.62k
    {
1769
5.62k
        SCN_EXPECT(has_value());
1770
5.62k
        return this->get_value();
1771
5.62k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJNSt3__112basic_stringIcNSA_11char_traitsIcEENSA_9allocatorIcEEEEEEENS0_10scan_errorEE5valueISH_TnPNSA_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSM_v
Line
Count
Source
1768
6.24k
    {
1769
6.24k
        SCN_EXPECT(has_value());
1770
6.24k
        return this->get_value();
1771
6.24k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJNSt3__112basic_stringIwNSA_11char_traitsIwEENSA_9allocatorIwEEEEEEENS0_10scan_errorEE5valueISH_TnPNSA_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSM_v
Line
Count
Source
1768
6.24k
    {
1769
6.24k
        SCN_EXPECT(has_value());
1770
6.24k
        return this->get_value();
1771
6.24k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJNSt3__117basic_string_viewIcNSA_11char_traitsIcEEEEEEENS0_10scan_errorEE5valueISF_TnPNSA_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSK_v
Line
Count
Source
1768
6.24k
    {
1769
6.24k
        SCN_EXPECT(has_value());
1770
6.24k
        return this->get_value();
1771
6.24k
    }
_ZNR3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeIPKwS7_EENS0_10scan_errorEE5valueIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSE_v
Line
Count
Source
1768
1.82k
    {
1769
1.82k
        SCN_EXPECT(has_value());
1770
1.82k
        return this->get_value();
1771
1.82k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJwEEENS0_10scan_errorEE5valueISA_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Line
Count
Source
1768
11.4k
    {
1769
11.4k
        SCN_EXPECT(has_value());
1770
11.4k
        return this->get_value();
1771
11.4k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJiEEENS0_10scan_errorEE5valueISA_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Line
Count
Source
1768
11.2k
    {
1769
11.2k
        SCN_EXPECT(has_value());
1770
11.2k
        return this->get_value();
1771
11.2k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJjEEENS0_10scan_errorEE5valueISA_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Line
Count
Source
1768
11.2k
    {
1769
11.2k
        SCN_EXPECT(has_value());
1770
11.2k
        return this->get_value();
1771
11.2k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJdEEENS0_10scan_errorEE5valueISA_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Line
Count
Source
1768
11.2k
    {
1769
11.2k
        SCN_EXPECT(has_value());
1770
11.2k
        return this->get_value();
1771
11.2k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJbEEENS0_10scan_errorEE5valueISA_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Line
Count
Source
1768
11.2k
    {
1769
11.2k
        SCN_EXPECT(has_value());
1770
11.2k
        return this->get_value();
1771
11.2k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJPvEEENS0_10scan_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELSA_0EEERSH_v
Line
Count
Source
1768
11.2k
    {
1769
11.2k
        SCN_EXPECT(has_value());
1770
11.2k
        return this->get_value();
1771
11.2k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJNSt3__112basic_stringIcNSA_11char_traitsIcEENSA_9allocatorIcEEEEEEENS0_10scan_errorEE5valueISH_TnPNSA_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSM_v
Line
Count
Source
1768
11.7k
    {
1769
11.7k
        SCN_EXPECT(has_value());
1770
11.7k
        return this->get_value();
1771
11.7k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJNSt3__112basic_stringIwNSA_11char_traitsIwEENSA_9allocatorIwEEEEEEENS0_10scan_errorEE5valueISH_TnPNSA_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSM_v
Line
Count
Source
1768
11.7k
    {
1769
11.7k
        SCN_EXPECT(has_value());
1770
11.7k
        return this->get_value();
1771
11.7k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJNSt3__117basic_string_viewIwNSA_11char_traitsIwEEEEEEENS0_10scan_errorEE5valueISF_TnPNSA_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSK_v
Line
Count
Source
1768
11.7k
    {
1769
11.7k
        SCN_EXPECT(has_value());
1770
11.7k
        return this->get_value();
1771
11.7k
    }
Unexecuted instantiation: _ZNR3scn2v48expectedIwNS0_10scan_errorEE5valueIwTnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERS7_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEE5valueIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEE5valueIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
_ZNR3scn2v48expectedIPKcNS0_10scan_errorEE5valueIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERS9_v
Line
Count
Source
1768
22.2k
    {
1769
22.2k
        SCN_EXPECT(has_value());
1770
22.2k
        return this->get_value();
1771
22.2k
    }
_ZNR3scn2v48expectedIPKwNS0_10scan_errorEE5valueIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERS9_v
Line
Count
Source
1768
18.6k
    {
1769
18.6k
        SCN_EXPECT(has_value());
1770
18.6k
        return this->get_value();
1771
18.6k
    }
_ZNR3scn2v48expectedIPKcNS0_4impl9eof_errorEE5valueIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSA_v
Line
Count
Source
1768
40.7k
    {
1769
40.7k
        SCN_EXPECT(has_value());
1770
40.7k
        return this->get_value();
1771
40.7k
    }
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSQ_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS0_10scan_errorEE5valueISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSQ_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEElEENS0_10scan_errorEE5valueISE_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorElEENS0_10scan_errorEE5valueIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEE5valueISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSK_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEE5valueISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS0_10scan_errorEE5valueISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESJ_EEENS0_10scan_errorEE5valueISK_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSP_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS0_10scan_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEE5valueIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEE5valueISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEENS2_9eof_errorEE5valueIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSE_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEENS0_10scan_errorEE5valueIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSE_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__15tupleIJNS0_6detail17basic_scan_bufferIcE16forward_iteratorENS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESD_EEENS0_10scan_errorEE5valueISE_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_10scan_errorEE5valueIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSB_v
_ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_9eof_errorEE5valueIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Line
Count
Source
1768
7.36k
    {
1769
7.36k
        SCN_EXPECT(has_value());
1770
7.36k
        return this->get_value();
1771
7.36k
    }
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSM_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEE8sentinelILb1EEEEENS0_10scan_errorEE5valueISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSM_v
_ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EElEENS0_10scan_errorEE5valueISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Line
Count
Source
1768
4.99k
    {
1769
4.99k
        SCN_EXPECT(has_value());
1770
4.99k
        return this->get_value();
1771
4.99k
    }
_ZNR3scn2v48expectedINSt3__14pairIPKclEENS0_10scan_errorEE5valueIS6_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSB_v
Line
Count
Source
1768
9.31k
    {
1769
9.31k
        SCN_EXPECT(has_value());
1770
9.31k
        return this->get_value();
1771
9.31k
    }
_ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_11parse_errorEE5valueIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Line
Count
Source
1768
1.94k
    {
1769
1.94k
        SCN_EXPECT(has_value());
1770
1.94k
        return this->get_value();
1771
1.94k
    }
_ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9sign_typeEEENS4_9eof_errorEE5valueISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Line
Count
Source
1768
1.42k
    {
1769
1.42k
        SCN_EXPECT(has_value());
1770
1.42k
        return this->get_value();
1771
1.42k
    }
_ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEENS2_9eof_errorEE5valueIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Line
Count
Source
1768
1.06k
    {
1769
1.06k
        SCN_EXPECT(has_value());
1770
1.06k
        return this->get_value();
1771
1.06k
    }
_ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEENS0_10scan_errorEE5valueIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Line
Count
Source
1768
1.06k
    {
1769
1.06k
        SCN_EXPECT(has_value());
1770
1.06k
        return this->get_value();
1771
1.06k
    }
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESF_EEENS0_10scan_errorEE5valueISG_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSL_v
_ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS0_10scan_errorEE5valueIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Line
Count
Source
1768
3.40k
    {
1769
3.40k
        SCN_EXPECT(has_value());
1770
3.40k
        return this->get_value();
1771
3.40k
    }
_ZNR3scn2v48expectedIPKcNS0_4impl11parse_errorEE5valueIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSA_v
Line
Count
Source
1768
1.94k
    {
1769
1.94k
        SCN_EXPECT(has_value());
1770
1.94k
        return this->get_value();
1771
1.94k
    }
_ZNR3scn2v48expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS6_9eof_errorEE5valueIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Line
Count
Source
1768
3.65k
    {
1769
3.65k
        SCN_EXPECT(has_value());
1770
3.65k
        return this->get_value();
1771
3.65k
    }
_ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS2_9eof_errorEE5valueIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
Line
Count
Source
1768
2.73k
    {
1769
2.73k
        SCN_EXPECT(has_value());
1770
2.73k
        return this->get_value();
1771
2.73k
    }
_ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS0_10scan_errorEE5valueIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
Line
Count
Source
1768
2.73k
    {
1769
2.73k
        SCN_EXPECT(has_value());
1770
2.73k
        return this->get_value();
1771
2.73k
    }
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__15tupleIJPKcNS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESB_EEENS0_10scan_errorEE5valueISC_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS0_10scan_errorEE5valueISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSK_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS0_10scan_errorEE5valueISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
_ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9sign_typeEEENS0_10scan_errorEE5valueISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Line
Count
Source
1768
366
    {
1769
366
        SCN_EXPECT(has_value());
1770
366
        return this->get_value();
1771
366
    }
_ZNR3scn2v48expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS0_10scan_errorEE5valueIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Line
Count
Source
1768
916
    {
1769
916
        SCN_EXPECT(has_value());
1770
916
        return this->get_value();
1771
916
    }
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSQ_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS0_10scan_errorEE5valueISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSQ_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEElEENS0_10scan_errorEE5valueISE_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorElEENS0_10scan_errorEE5valueIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEE5valueISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSK_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEE5valueISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS0_10scan_errorEE5valueISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENSE_IcNSF_IcEENSH_IcEEEEEEENS0_10scan_errorEE5valueISN_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSS_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS0_10scan_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEE5valueIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEE5valueISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEENS2_9eof_errorEE5valueIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSE_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEENS0_10scan_errorEE5valueIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSE_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__15tupleIJNS0_6detail17basic_scan_bufferIwE16forward_iteratorENS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENS8_IcNS9_IcEENSB_IcEEEEEEENS0_10scan_errorEE5valueISH_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSM_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_10scan_errorEE5valueIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSB_v
_ZNR3scn2v48expectedIPKwNS0_4impl9eof_errorEE5valueIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSA_v
Line
Count
Source
1768
13.6k
    {
1769
13.6k
        SCN_EXPECT(has_value());
1770
13.6k
        return this->get_value();
1771
13.6k
    }
_ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_9eof_errorEE5valueIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Line
Count
Source
1768
1.42k
    {
1769
1.42k
        SCN_EXPECT(has_value());
1770
1.42k
        return this->get_value();
1771
1.42k
    }
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSM_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEE8sentinelILb1EEEEENS0_10scan_errorEE5valueISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSM_v
_ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EElEENS0_10scan_errorEE5valueISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Line
Count
Source
1768
2.13k
    {
1769
2.13k
        SCN_EXPECT(has_value());
1770
2.13k
        return this->get_value();
1771
2.13k
    }
_ZNR3scn2v48expectedINSt3__14pairIPKwlEENS0_10scan_errorEE5valueIS6_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSB_v
Line
Count
Source
1768
6.39k
    {
1769
6.39k
        SCN_EXPECT(has_value());
1770
6.39k
        return this->get_value();
1771
6.39k
    }
_ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_11parse_errorEE5valueIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Line
Count
Source
1768
1.02k
    {
1769
1.02k
        SCN_EXPECT(has_value());
1770
1.02k
        return this->get_value();
1771
1.02k
    }
_ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9sign_typeEEENS4_9eof_errorEE5valueISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Line
Count
Source
1768
754
    {
1769
754
        SCN_EXPECT(has_value());
1770
754
        return this->get_value();
1771
754
    }
_ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEENS2_9eof_errorEE5valueIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Line
Count
Source
1768
572
    {
1769
572
        SCN_EXPECT(has_value());
1770
572
        return this->get_value();
1771
572
    }
_ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEENS0_10scan_errorEE5valueIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Line
Count
Source
1768
572
    {
1769
572
        SCN_EXPECT(has_value());
1770
572
        return this->get_value();
1771
572
    }
_ZNR3scn2v48expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENSA_IcNSB_IcEENSD_IcEEEEEEENS0_10scan_errorEE5valueISJ_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSO_v
Line
Count
Source
1768
8
    {
1769
8
        SCN_EXPECT(has_value());
1770
8
        return this->get_value();
1771
8
    }
_ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS0_10scan_errorEE5valueIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Line
Count
Source
1768
2.03k
    {
1769
2.03k
        SCN_EXPECT(has_value());
1770
2.03k
        return this->get_value();
1771
2.03k
    }
_ZNR3scn2v48expectedIPKwNS0_4impl11parse_errorEE5valueIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSA_v
Line
Count
Source
1768
5.51k
    {
1769
5.51k
        SCN_EXPECT(has_value());
1770
5.51k
        return this->get_value();
1771
5.51k
    }
_ZNR3scn2v48expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS6_9eof_errorEE5valueIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Line
Count
Source
1768
3.65k
    {
1769
3.65k
        SCN_EXPECT(has_value());
1770
3.65k
        return this->get_value();
1771
3.65k
    }
_ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS2_9eof_errorEE5valueIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
Line
Count
Source
1768
2.70k
    {
1769
2.70k
        SCN_EXPECT(has_value());
1770
2.70k
        return this->get_value();
1771
2.70k
    }
_ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS0_10scan_errorEE5valueIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
Line
Count
Source
1768
2.70k
    {
1769
2.70k
        SCN_EXPECT(has_value());
1770
2.70k
        return this->get_value();
1771
2.70k
    }
_ZNR3scn2v48expectedINSt3__15tupleIJPKwNS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENS6_IcNS7_IcEENS9_IcEEEEEEENS0_10scan_errorEE5valueISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSK_v
Line
Count
Source
1768
4
    {
1769
4
        SCN_EXPECT(has_value());
1770
4
        return this->get_value();
1771
4
    }
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS0_10scan_errorEE5valueISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSK_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS0_10scan_errorEE5valueISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
_ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9sign_typeEEENS0_10scan_errorEE5valueISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Line
Count
Source
1768
182
    {
1769
182
        SCN_EXPECT(has_value());
1770
182
        return this->get_value();
1771
182
    }
_ZNR3scn2v48expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS0_10scan_errorEE5valueIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Line
Count
Source
1768
948
    {
1769
948
        SCN_EXPECT(has_value());
1770
948
        return this->get_value();
1771
948
    }
_ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSN_v
Line
Count
Source
1768
2.97k
    {
1769
2.97k
        SCN_EXPECT(has_value());
1770
2.97k
        return this->get_value();
1771
2.97k
    }
_ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS0_10scan_errorEE5valueISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSN_v
Line
Count
Source
1768
2.09k
    {
1769
2.09k
        SCN_EXPECT(has_value());
1770
2.09k
        return this->get_value();
1771
2.09k
    }
_ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSN_v
Line
Count
Source
1768
1.04k
    {
1769
1.04k
        SCN_EXPECT(has_value());
1770
1.04k
        return this->get_value();
1771
1.04k
    }
_ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS0_10scan_errorEE5valueISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSN_v
Line
Count
Source
1768
1.04k
    {
1769
1.04k
        SCN_EXPECT(has_value());
1770
1.04k
        return this->get_value();
1771
1.04k
    }
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS2_18default_sentinel_tEEENS0_10scan_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEJNSt3__112basic_stringIcNSD_11char_traitsIcEENSD_9allocatorIcEEEEEEENS0_10scan_errorEE5valueISK_TnPNSD_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSP_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeINSt3__111__wrap_iterIPcEES9_EENS0_10scan_errorEE5valueISA_TnPNS6_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__111__wrap_iterIPcEESA_EEJdEEENS0_10scan_errorEE5valueISC_TnPNS7_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS2_18default_sentinel_tEEENS0_10scan_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEJNSt3__112basic_stringIcNSD_11char_traitsIcEENSD_9allocatorIcEEEEEEENS0_10scan_errorEE5valueISK_TnPNSD_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSP_v
1772
    template <typename U = T, std::enable_if_t<!std::is_void_v<U>>* = nullptr>
1773
    constexpr const U& value() const& noexcept
1774
0
    {
1775
0
        SCN_EXPECT(has_value());
1776
0
        return this->get_value();
1777
0
    }
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEE5valueIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEE5valueIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v
Unexecuted instantiation: _ZNKR3scn2v48expectedIPKcNS0_4impl9eof_errorEE5valueIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSA_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSQ_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSH_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEE5valueISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSJ_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSH_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEENS2_9eof_errorEE5valueIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSE_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEE5valueIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSM_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_9eof_errorEE5valueIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEENS2_9eof_errorEE5valueIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSF_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_11parse_errorEE5valueIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS2_9eof_errorEE5valueIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEE5valueISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSK_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEE5valueISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSF_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9sign_typeEEENS4_9eof_errorEE5valueISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSG_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS6_9eof_errorEE5valueIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v
Unexecuted instantiation: _ZNKR3scn2v48expectedIPKcNS0_4impl11parse_errorEE5valueIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSA_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSQ_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSH_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEE5valueISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSJ_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSH_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEENS2_9eof_errorEE5valueIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSE_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEE5valueIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSM_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_9eof_errorEE5valueIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v
Unexecuted instantiation: _ZNKR3scn2v48expectedIPKwNS0_4impl9eof_errorEE5valueIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSA_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEENS2_9eof_errorEE5valueIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSF_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_11parse_errorEE5valueIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS2_9eof_errorEE5valueIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEE5valueISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSK_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEE5valueISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSF_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9sign_typeEEENS4_9eof_errorEE5valueISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSG_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS6_9eof_errorEE5valueIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v
Unexecuted instantiation: _ZNKR3scn2v48expectedIPKwNS0_4impl11parse_errorEE5valueIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSA_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSN_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSN_v
1778
    template <typename U = T, std::enable_if_t<!std::is_void_v<U>>* = nullptr>
1779
    constexpr U&& value() && noexcept
1780
    {
1781
        SCN_EXPECT(has_value());
1782
        return std::move(this->get_value());
1783
    }
1784
    template <typename U = T, std::enable_if_t<!std::is_void_v<U>>* = nullptr>
1785
    constexpr const U&& value() const&& noexcept
1786
    {
1787
        SCN_EXPECT(has_value());
1788
        return std::move(this->get_value());
1789
    }
1790
1791
    /// Get the expected value, if one is contained in *this
1792
    template <typename U = T, std::enable_if_t<!std::is_void_v<U>>* = nullptr>
1793
    constexpr U& operator*() & noexcept
1794
57.0k
    {
1795
57.0k
        return value();
1796
57.0k
    }
_ZNR3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeIPKcS7_EENS0_10scan_errorEEdeIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSE_v
Line
Count
Source
1794
2.11k
    {
1795
2.11k
        return value();
1796
2.11k
    }
_ZNR3scn2v48expectedIlNS0_10scan_errorEEdeIlTnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERS7_v
Line
Count
Source
1794
3.94k
    {
1795
3.94k
        return value();
1796
3.94k
    }
_ZNR3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeIPKwS7_EENS0_10scan_errorEEdeIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSE_v
Line
Count
Source
1794
1.82k
    {
1795
1.82k
        return value();
1796
1.82k
    }
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSQ_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
_ZNR3scn2v48expectedIPKcNS0_4impl9eof_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSA_v
Line
Count
Source
1794
30.3k
    {
1795
30.3k
        return value();
1796
30.3k
    }
_ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_9eof_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Line
Count
Source
1794
4.53k
    {
1795
4.53k
        return value();
1796
4.53k
    }
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSM_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_11parse_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Unexecuted instantiation: _ZNR3scn2v48expectedIPKcNS0_4impl11parse_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSA_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS0_10scan_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_10scan_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSB_v
_ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS0_10scan_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Line
Count
Source
1794
804
    {
1795
804
        return value();
1796
804
    }
_ZNR3scn2v48expectedIPKcNS0_10scan_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERS9_v
Line
Count
Source
1794
7.28k
    {
1795
7.28k
        return value();
1796
7.28k
    }
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSQ_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
_ZNR3scn2v48expectedIPKwNS0_4impl9eof_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSA_v
Line
Count
Source
1794
54
    {
1795
54
        return value();
1796
54
    }
_ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_9eof_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Line
Count
Source
1794
42
    {
1795
42
        return value();
1796
42
    }
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSM_v
_ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_11parse_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Line
Count
Source
1794
108
    {
1795
108
        return value();
1796
108
    }
_ZNR3scn2v48expectedIPKwNS0_4impl11parse_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSA_v
Line
Count
Source
1794
82
    {
1795
82
        return value();
1796
82
    }
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS0_10scan_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_10scan_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSB_v
_ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS0_10scan_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Line
Count
Source
1794
426
    {
1795
426
        return value();
1796
426
    }
_ZNR3scn2v48expectedIPKwNS0_10scan_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERS9_v
Line
Count
Source
1794
4.58k
    {
1795
4.58k
        return value();
1796
4.58k
    }
_ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSN_v
Line
Count
Source
1794
880
    {
1795
880
        return value();
1796
880
    }
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSN_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS2_18default_sentinel_tEEENS0_10scan_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeINSt3__111__wrap_iterIPcEES9_EENS0_10scan_errorEEdeISA_TnPNS6_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS2_18default_sentinel_tEEENS0_10scan_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEEdeISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEENS2_9eof_errorEEdeIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSE_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEENS2_9eof_errorEEdeIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS2_9eof_errorEEdeIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEEdeISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSK_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEEdeISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9sign_typeEEENS4_9eof_errorEEdeISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS6_9eof_errorEEdeIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEEdeISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEENS2_9eof_errorEEdeIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSE_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEENS2_9eof_errorEEdeIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS2_9eof_errorEEdeIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEEdeISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSK_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEEdeISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9sign_typeEEENS4_9eof_errorEEdeISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS6_9eof_errorEEdeIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
1797
    template <typename U = T, std::enable_if_t<!std::is_void_v<U>>* = nullptr>
1798
    constexpr const U& operator*() const& noexcept
1799
0
    {
1800
0
        return value();
1801
0
    }
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v
Unexecuted instantiation: _ZNKR3scn2v48expectedIPKcNS0_4impl9eof_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSA_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSQ_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSH_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEEdeISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSJ_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSH_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEENS2_9eof_errorEEdeIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSE_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSM_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_9eof_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEENS2_9eof_errorEEdeIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSF_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_11parse_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS2_9eof_errorEEdeIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEEdeISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSK_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEEdeISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSF_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9sign_typeEEENS4_9eof_errorEEdeISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSG_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS6_9eof_errorEEdeIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v
Unexecuted instantiation: _ZNKR3scn2v48expectedIPKcNS0_4impl11parse_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSA_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSQ_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSH_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEEdeISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSJ_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSH_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEENS2_9eof_errorEEdeIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSE_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSM_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_9eof_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v
Unexecuted instantiation: _ZNKR3scn2v48expectedIPKwNS0_4impl9eof_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSA_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEENS2_9eof_errorEEdeIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSF_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_11parse_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS2_9eof_errorEEdeIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEEdeISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSK_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEEdeISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSF_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9sign_typeEEENS4_9eof_errorEEdeISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSG_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS6_9eof_errorEEdeIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v
Unexecuted instantiation: _ZNKR3scn2v48expectedIPKwNS0_4impl11parse_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSA_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSN_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSN_v
1802
    template <typename U = T, std::enable_if_t<!std::is_void_v<U>>* = nullptr>
1803
    constexpr U&& operator*() && noexcept
1804
126k
    {
1805
126k
        return std::move(value());
1806
126k
    }
Unexecuted instantiation: _ZNO3scn2v48expectedIwNS0_10scan_errorEEdeIwTnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOS7_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSC_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSC_v
_ZNO3scn2v48expectedIPKcNS0_10scan_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOS9_v
Line
Count
Source
1804
14.9k
    {
1805
14.9k
        return std::move(value());
1806
14.9k
    }
_ZNO3scn2v48expectedIPKwNS0_10scan_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOS9_v
Line
Count
Source
1804
14.0k
    {
1805
14.0k
        return std::move(value());
1806
14.0k
    }
_ZNO3scn2v48expectedIPKcNS0_4impl9eof_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSA_v
Line
Count
Source
1804
10.3k
    {
1805
10.3k
        return std::move(value());
1806
10.3k
    }
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSQ_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS0_10scan_errorEEdeISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSQ_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSH_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEElEENS0_10scan_errorEEdeISE_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSJ_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorElEENS0_10scan_errorEEdeIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEEdeISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSK_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSH_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEEdeISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSJ_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS0_10scan_errorEEdeISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSJ_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESJ_EEENS0_10scan_errorEEdeISK_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSP_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS0_10scan_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSH_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEEdeISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSF_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSC_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEENS2_9eof_errorEEdeIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSE_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEENS0_10scan_errorEEdeIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSE_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__15tupleIJNS0_6detail17basic_scan_bufferIcE16forward_iteratorENS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESD_EEENS0_10scan_errorEEdeISE_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSJ_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_10scan_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSB_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSM_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEE8sentinelILb1EEEEENS0_10scan_errorEEdeISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSM_v
_ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_9eof_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v
Line
Count
Source
1804
2.83k
    {
1805
2.83k
        return std::move(value());
1806
2.83k
    }
_ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EElEENS0_10scan_errorEEdeISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSF_v
Line
Count
Source
1804
4.99k
    {
1805
4.99k
        return std::move(value());
1806
4.99k
    }
_ZNO3scn2v48expectedINSt3__14pairIPKclEENS0_10scan_errorEEdeIS6_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSB_v
Line
Count
Source
1804
9.31k
    {
1805
9.31k
        return std::move(value());
1806
9.31k
    }
_ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9sign_typeEEENS4_9eof_errorEEdeISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSG_v
Line
Count
Source
1804
1.42k
    {
1805
1.42k
        return std::move(value());
1806
1.42k
    }
_ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_11parse_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v
Line
Count
Source
1804
1.94k
    {
1805
1.94k
        return std::move(value());
1806
1.94k
    }
_ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEENS2_9eof_errorEEdeIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSF_v
Line
Count
Source
1804
1.06k
    {
1805
1.06k
        return std::move(value());
1806
1.06k
    }
_ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEENS0_10scan_errorEEdeIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSF_v
Line
Count
Source
1804
1.06k
    {
1805
1.06k
        return std::move(value());
1806
1.06k
    }
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESF_EEENS0_10scan_errorEEdeISG_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSL_v
_ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS0_10scan_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v
Line
Count
Source
1804
2.59k
    {
1805
2.59k
        return std::move(value());
1806
2.59k
    }
_ZNO3scn2v48expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS6_9eof_errorEEdeIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v
Line
Count
Source
1804
3.65k
    {
1805
3.65k
        return std::move(value());
1806
3.65k
    }
_ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS2_9eof_errorEEdeIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSC_v
Line
Count
Source
1804
2.73k
    {
1805
2.73k
        return std::move(value());
1806
2.73k
    }
_ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS0_10scan_errorEEdeIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSC_v
Line
Count
Source
1804
2.73k
    {
1805
2.73k
        return std::move(value());
1806
2.73k
    }
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__15tupleIJPKcNS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESB_EEENS0_10scan_errorEEdeISC_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSH_v
_ZNO3scn2v48expectedIlNS0_10scan_errorEEdeIlTnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOS7_v
Line
Count
Source
1804
220
    {
1805
220
        return std::move(value());
1806
220
    }
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS0_10scan_errorEEdeISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSK_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS0_10scan_errorEEdeISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSF_v
_ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9sign_typeEEENS0_10scan_errorEEdeISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSG_v
Line
Count
Source
1804
366
    {
1805
366
        return std::move(value());
1806
366
    }
_ZNO3scn2v48expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS0_10scan_errorEEdeIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v
Line
Count
Source
1804
916
    {
1805
916
        return std::move(value());
1806
916
    }
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSQ_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS0_10scan_errorEEdeISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSQ_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSH_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEElEENS0_10scan_errorEEdeISE_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSJ_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorElEENS0_10scan_errorEEdeIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEEdeISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSK_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSH_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEEdeISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSJ_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS0_10scan_errorEEdeISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSJ_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENSE_IcNSF_IcEENSH_IcEEEEEEENS0_10scan_errorEEdeISN_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSS_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS0_10scan_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSH_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEEdeISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSF_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSC_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEENS2_9eof_errorEEdeIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSE_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEENS0_10scan_errorEEdeIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSE_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__15tupleIJNS0_6detail17basic_scan_bufferIwE16forward_iteratorENS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENS8_IcNS9_IcEENSB_IcEEEEEEENS0_10scan_errorEEdeISH_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSM_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_10scan_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSB_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSM_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEE8sentinelILb1EEEEENS0_10scan_errorEEdeISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSM_v
_ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_9eof_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v
Line
Count
Source
1804
1.38k
    {
1805
1.38k
        return std::move(value());
1806
1.38k
    }
_ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EElEENS0_10scan_errorEEdeISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSF_v
Line
Count
Source
1804
2.13k
    {
1805
2.13k
        return std::move(value());
1806
2.13k
    }
_ZNO3scn2v48expectedIPKwNS0_4impl9eof_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSA_v
Line
Count
Source
1804
13.5k
    {
1805
13.5k
        return std::move(value());
1806
13.5k
    }
_ZNO3scn2v48expectedINSt3__14pairIPKwlEENS0_10scan_errorEEdeIS6_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSB_v
Line
Count
Source
1804
6.39k
    {
1805
6.39k
        return std::move(value());
1806
6.39k
    }
_ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9sign_typeEEENS4_9eof_errorEEdeISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSG_v
Line
Count
Source
1804
754
    {
1805
754
        return std::move(value());
1806
754
    }
_ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_11parse_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v
Line
Count
Source
1804
914
    {
1805
914
        return std::move(value());
1806
914
    }
_ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEENS2_9eof_errorEEdeIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSF_v
Line
Count
Source
1804
572
    {
1805
572
        return std::move(value());
1806
572
    }
_ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEENS0_10scan_errorEEdeIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSF_v
Line
Count
Source
1804
572
    {
1805
572
        return std::move(value());
1806
572
    }
_ZNO3scn2v48expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENSA_IcNSB_IcEENSD_IcEEEEEEENS0_10scan_errorEEdeISJ_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSO_v
Line
Count
Source
1804
8
    {
1805
8
        return std::move(value());
1806
8
    }
_ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS0_10scan_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v
Line
Count
Source
1804
1.61k
    {
1805
1.61k
        return std::move(value());
1806
1.61k
    }
_ZNO3scn2v48expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS6_9eof_errorEEdeIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v
Line
Count
Source
1804
3.65k
    {
1805
3.65k
        return std::move(value());
1806
3.65k
    }
_ZNO3scn2v48expectedIPKwNS0_4impl11parse_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSA_v
Line
Count
Source
1804
5.43k
    {
1805
5.43k
        return std::move(value());
1806
5.43k
    }
_ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS2_9eof_errorEEdeIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSC_v
Line
Count
Source
1804
2.70k
    {
1805
2.70k
        return std::move(value());
1806
2.70k
    }
_ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS0_10scan_errorEEdeIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSC_v
Line
Count
Source
1804
2.70k
    {
1805
2.70k
        return std::move(value());
1806
2.70k
    }
_ZNO3scn2v48expectedINSt3__15tupleIJPKwNS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENS6_IcNS7_IcEENS9_IcEEEEEEENS0_10scan_errorEEdeISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSK_v
Line
Count
Source
1804
4
    {
1805
4
        return std::move(value());
1806
4
    }
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS0_10scan_errorEEdeISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSK_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS0_10scan_errorEEdeISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSF_v
_ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9sign_typeEEENS0_10scan_errorEEdeISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSG_v
Line
Count
Source
1804
182
    {
1805
182
        return std::move(value());
1806
182
    }
_ZNO3scn2v48expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS0_10scan_errorEEdeIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v
Line
Count
Source
1804
948
    {
1805
948
        return std::move(value());
1806
948
    }
_ZNO3scn2v48expectedIPKcNS0_4impl11parse_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSA_v
Line
Count
Source
1804
1.94k
    {
1805
1.94k
        return std::move(value());
1806
1.94k
    }
_ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSN_v
Line
Count
Source
1804
2.09k
    {
1805
2.09k
        return std::move(value());
1806
2.09k
    }
_ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS0_10scan_errorEEdeISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSN_v
Line
Count
Source
1804
2.09k
    {
1805
2.09k
        return std::move(value());
1806
2.09k
    }
_ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSN_v
Line
Count
Source
1804
1.04k
    {
1805
1.04k
        return std::move(value());
1806
1.04k
    }
_ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS0_10scan_errorEEdeISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSN_v
Line
Count
Source
1804
1.04k
    {
1805
1.04k
        return std::move(value());
1806
1.04k
    }
1807
    template <typename U = T, std::enable_if_t<!std::is_void_v<U>>* = nullptr>
1808
    constexpr const U&& operator*() const&& noexcept
1809
    {
1810
        return std::move(value());
1811
    }
1812
1813
    constexpr value_type* operator->() noexcept
1814
155k
    {
1815
155k
        return &value();
1816
155k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v4::scan_error>::operator->()
Line
Count
Source
1814
5.89k
    {
1815
5.89k
        return &value();
1816
5.89k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error>::operator->()
Line
Count
Source
1814
5.62k
    {
1815
5.62k
        return &value();
1816
5.62k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error>::operator->()
Line
Count
Source
1814
5.62k
    {
1815
5.62k
        return &value();
1816
5.62k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v4::scan_error>::operator->()
Line
Count
Source
1814
5.62k
    {
1815
5.62k
        return &value();
1816
5.62k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v4::scan_error>::operator->()
Line
Count
Source
1814
5.62k
    {
1815
5.62k
        return &value();
1816
5.62k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v4::scan_error>::operator->()
Line
Count
Source
1814
5.62k
    {
1815
5.62k
        return &value();
1816
5.62k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator->()
Line
Count
Source
1814
6.24k
    {
1815
6.24k
        return &value();
1816
6.24k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error>::operator->()
Line
Count
Source
1814
6.24k
    {
1815
6.24k
        return &value();
1816
6.24k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v4::scan_error>::operator->()
Line
Count
Source
1814
6.24k
    {
1815
6.24k
        return &value();
1816
6.24k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v4::scan_error>::operator->()
Line
Count
Source
1814
11.4k
    {
1815
11.4k
        return &value();
1816
11.4k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error>::operator->()
Line
Count
Source
1814
11.2k
    {
1815
11.2k
        return &value();
1816
11.2k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error>::operator->()
Line
Count
Source
1814
11.2k
    {
1815
11.2k
        return &value();
1816
11.2k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v4::scan_error>::operator->()
Line
Count
Source
1814
11.2k
    {
1815
11.2k
        return &value();
1816
11.2k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v4::scan_error>::operator->()
Line
Count
Source
1814
11.2k
    {
1815
11.2k
        return &value();
1816
11.2k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v4::scan_error>::operator->()
Line
Count
Source
1814
11.2k
    {
1815
11.2k
        return &value();
1816
11.2k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator->()
Line
Count
Source
1814
11.7k
    {
1815
11.7k
        return &value();
1816
11.7k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error>::operator->()
Line
Count
Source
1814
11.7k
    {
1815
11.7k
        return &value();
1816
11.7k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v4::scan_error>::operator->()
Line
Count
Source
1814
11.7k
    {
1815
11.7k
        return &value();
1816
11.7k
    }
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator->()
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator->()
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator->()
Unexecuted instantiation: scn::v4::expected<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator->()
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator->()
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator->()
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator->()
Unexecuted instantiation: scn::v4::expected<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator->()
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator->()
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error>::operator->()
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator->()
1817
    constexpr const value_type* operator->() const noexcept
1818
    {
1819
        return &value();
1820
    }
1821
1822
    /// Returns the expected value if *this contains one, otherwise
1823
    /// returns default_value
1824
    template <typename U,
1825
              typename = std::enable_if_t<std::is_copy_constructible_v<T> &&
1826
                                          std::is_convertible_v<U, T>>>
1827
    constexpr T value_or(U&& default_value) const& noexcept(
1828
        std::is_nothrow_copy_constructible_v<T> &&
1829
        std::is_nothrow_constructible_v<T, U&&>)
1830
    {
1831
        if (has_value()) {
1832
            return value();
1833
        }
1834
        return std::forward<U>(default_value);
1835
    }
1836
    template <typename U,
1837
              typename = std::enable_if_t<std::is_move_constructible_v<T> &&
1838
                                          std::is_convertible_v<U, T>>>
1839
    constexpr T value_or(U&& default_value) && noexcept(
1840
        std::is_nothrow_move_constructible_v<T> &&
1841
        std::is_nothrow_constructible_v<T, U&&>)
1842
    {
1843
        if (has_value()) {
1844
            return std::move(value());
1845
        }
1846
        return std::forward<U>(default_value);
1847
    }
1848
1849
    template <typename G,
1850
              typename = std::enable_if_t<std::is_copy_constructible_v<E> &&
1851
                                          std::is_convertible_v<G, E>>>
1852
    constexpr E error_or(G&& default_error) const& noexcept(
1853
        std::is_nothrow_copy_constructible_v<E> &&
1854
        std::is_nothrow_constructible_v<E, G&&>)
1855
    {
1856
        if (!has_value()) {
1857
            return error();
1858
        }
1859
        return std::forward<G>(default_error);
1860
    }
1861
    template <typename G,
1862
              typename = std::enable_if_t<std::is_move_constructible_v<E> &&
1863
                                          std::is_convertible_v<G, E>>>
1864
    constexpr E error_or(G&& default_error) && noexcept(
1865
        std::is_nothrow_move_constructible_v<E> &&
1866
        std::is_nothrow_constructible_v<E, G&&>)
1867
    {
1868
        if (!has_value()) {
1869
            return std::move(error());
1870
        }
1871
        return std::forward<G>(default_error);
1872
    }
1873
1874
    template <typename F>
1875
    constexpr auto and_then(F&& f) & noexcept(noexcept(
1876
        detail::and_then_impl(SCN_DECLVAL(expected&), std::forward<F>(f))))
1877
        -> decltype(detail::and_then_impl(*this, std::forward<F>(f)))
1878
    {
1879
        return detail::and_then_impl(*this, std::forward<F>(f));
1880
    }
1881
    template <typename F>
1882
    constexpr auto and_then(F&& f) const& noexcept(
1883
        noexcept(detail::and_then_impl(SCN_DECLVAL(const expected&),
1884
                                       std::forward<F>(f))))
1885
        -> decltype(detail::and_then_impl(*this, std::forward<F>(f)))
1886
    {
1887
        return detail::and_then_impl(*this, std::forward<F>(f));
1888
    }
1889
    template <typename F>
1890
    constexpr auto and_then(F&& f) && noexcept(noexcept(
1891
        detail::and_then_impl(SCN_DECLVAL(expected&&), std::forward<F>(f))))
1892
        -> decltype(detail::and_then_impl(*this, std::forward<F>(f)))
1893
    {
1894
        return detail::and_then_impl(std::move(*this), std::forward<F>(f));
1895
    }
1896
    template <typename F>
1897
    constexpr auto and_then(F&& f) const&& noexcept(
1898
        noexcept(detail::and_then_impl(SCN_DECLVAL(const expected&&),
1899
                                       std::forward<F>(f))))
1900
        -> decltype(detail::and_then_impl(*this, std::forward<F>(f)))
1901
    {
1902
        return detail::and_then_impl(std::move(*this), std::forward<F>(f));
1903
    }
1904
1905
    template <typename F>
1906
    constexpr auto or_else(F&& f) & noexcept(noexcept(
1907
        detail::or_else_impl(SCN_DECLVAL(expected&), std::forward<F>(f))))
1908
        -> decltype(detail::or_else_impl(*this, std::forward<F>(f)))
1909
    {
1910
        return detail::or_else_impl(*this, std::forward<F>(f));
1911
    }
1912
    template <typename F>
1913
    constexpr auto or_else(F&& f) const& noexcept(noexcept(
1914
        detail::or_else_impl(SCN_DECLVAL(const expected&), std::forward<F>(f))))
1915
        -> decltype(detail::or_else_impl(*this, std::forward<F>(f)))
1916
    {
1917
        return detail::or_else_impl(*this, std::forward<F>(f));
1918
    }
1919
    template <typename F>
1920
    constexpr auto or_else(F&& f) && noexcept(noexcept(
1921
        detail::or_else_impl(SCN_DECLVAL(expected&&), std::forward<F>(f))))
1922
        -> decltype(detail::or_else_impl(*this, std::forward<F>(f)))
1923
    {
1924
        return detail::or_else_impl(std::move(*this), std::forward<F>(f));
1925
    }
1926
    template <typename F>
1927
    constexpr auto or_else(F&& f) const&& noexcept(
1928
        noexcept(detail::or_else_impl(SCN_DECLVAL(const expected&&),
1929
                                      std::forward<F>(f))))
1930
        -> decltype(detail::or_else_impl(*this, std::forward<F>(f)))
1931
    {
1932
        return detail::or_else_impl(std::move(*this), std::forward<F>(f));
1933
    }
1934
1935
    template <typename F>
1936
    constexpr auto transform(
1937
        F&& f) & -> decltype(detail::transform_impl(*this, std::forward<F>(f)))
1938
    {
1939
        return detail::transform_impl(*this, std::forward<F>(f));
1940
    }
1941
    template <typename F>
1942
    constexpr auto transform(F&& f)
1943
        const& -> decltype(detail::transform_impl(*this, std::forward<F>(f)))
1944
    {
1945
        return detail::transform_impl(*this, std::forward<F>(f));
1946
    }
1947
    template <typename F>
1948
    constexpr auto transform(
1949
        F&& f) && -> decltype(detail::transform_impl(*this, std::forward<F>(f)))
1950
    {
1951
        return detail::transform_impl(std::move(*this), std::forward<F>(f));
1952
    }
1953
    template <typename F>
1954
    constexpr auto transform(F&& f)
1955
        const&& -> decltype(detail::transform_impl(*this, std::forward<F>(f)))
1956
    {
1957
        return detail::transform_impl(std::move(*this), std::forward<F>(f));
1958
    }
1959
1960
    template <typename F>
1961
    constexpr auto transform_error(
1962
        F&& f) & -> decltype(detail::transform_error_impl(*this,
1963
                                                          std::forward<F>(f)))
1964
2.97k
    {
1965
2.97k
        return detail::transform_error_impl(*this, std::forward<F>(f));
1966
2.97k
    }
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEE15transform_errorIZNS2_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSC_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSK_
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEE15transform_errorIZNS6_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS7_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSF_
_ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_11parse_errorEE15transform_errorIZNS2_29map_parse_error_to_scan_errorENS0_10scan_error4codeES6_EUlS8_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSE_
Line
Count
Source
1964
732
    {
1965
732
        return detail::transform_error_impl(*this, std::forward<F>(f));
1966
732
    }
_ZNR3scn2v48expectedIPKcNS0_4impl11parse_errorEE15transform_errorIZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeES3_EUlS5_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSB_
Line
Count
Source
1964
938
    {
1965
938
        return detail::transform_error_impl(*this, std::forward<F>(f));
1966
938
    }
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEE15transform_errorIZNS2_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSC_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSK_
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEE15transform_errorIZNS6_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS7_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSF_
_ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_11parse_errorEE15transform_errorIZNS2_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS8_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSG_
Line
Count
Source
1964
340
    {
1965
340
        return detail::transform_error_impl(*this, std::forward<F>(f));
1966
340
    }
_ZNR3scn2v48expectedIPKwNS0_4impl11parse_errorEE15transform_errorIZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS5_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSD_
Line
Count
Source
1964
964
    {
1965
964
        return detail::transform_error_impl(*this, std::forward<F>(f));
1966
964
    }
1967
    template <typename F>
1968
    constexpr auto transform_error(F&& f)
1969
        const& -> decltype(detail::transform_error_impl(*this,
1970
                                                        std::forward<F>(f)))
1971
    {
1972
        return detail::transform_error_impl(*this, std::forward<F>(f));
1973
    }
1974
    template <typename F>
1975
    constexpr auto transform_error(
1976
        F&& f) && -> decltype(detail::transform_error_impl(*this,
1977
                                                           std::forward<F>(f)))
1978
43.6k
    {
1979
43.6k
        return detail::transform_error_impl(std::move(*this),
1980
43.6k
                                            std::forward<F>(f));
1981
43.6k
    }
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEE15transform_errorIRFNS0_10scan_errorES7_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSD_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEE15transform_errorIRFNS0_10scan_errorES7_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSD_
_ZNO3scn2v48expectedIPKcNS0_4impl9eof_errorEE15transform_errorIRFNS0_10scan_errorES5_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSB_
Line
Count
Source
1978
8.43k
    {
1979
8.43k
        return detail::transform_error_impl(std::move(*this),
1980
8.43k
                                            std::forward<F>(f));
1981
8.43k
    }
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESL_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSR_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESC_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSI_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEE15transform_errorIRFNS2_11parse_errorESC_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSI_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESE_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSK_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEE15transform_errorIZNS2_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSC_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSK_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEE15transform_errorIRFNS6_11parse_errorES7_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSD_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorES9_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSF_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEE15transform_errorIZNS6_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS7_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSF_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEE8sentinelILb1EEEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESI_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSO_
_ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorES8_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSE_
Line
Count
Source
1978
890
    {
1979
890
        return detail::transform_error_impl(std::move(*this),
1980
890
                                            std::forward<F>(f));
1981
890
    }
_ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_9eof_errorEE15transform_errorIRFNS2_11parse_errorES8_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSE_
Line
Count
Source
1978
2.35k
    {
1979
2.35k
        return detail::transform_error_impl(std::move(*this),
1980
2.35k
                                            std::forward<F>(f));
1981
2.35k
    }
_ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESA_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSG_
Line
Count
Source
1978
1.06k
    {
1979
1.06k
        return detail::transform_error_impl(std::move(*this),
1980
1.06k
                                            std::forward<F>(f));
1981
1.06k
    }
_ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_11parse_errorEE15transform_errorIZNS2_29map_parse_error_to_scan_errorENS0_10scan_error4codeES6_EUlS8_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSE_
Line
Count
Source
1978
1.03k
    {
1979
1.03k
        return detail::transform_error_impl(std::move(*this),
1980
1.03k
                                            std::forward<F>(f));
1981
1.03k
    }
_ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorES7_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSD_
Line
Count
Source
1978
2.73k
    {
1979
2.73k
        return detail::transform_error_impl(std::move(*this),
1980
2.73k
                                            std::forward<F>(f));
1981
2.73k
    }
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEE15transform_errorIRFNS0_10scan_errorESG_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSM_
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEE15transform_errorIRFNS0_10scan_errorESB_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSH_
_ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9sign_typeEEENS4_9eof_errorEE15transform_errorIRFNS0_10scan_errorESC_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSI_
Line
Count
Source
1978
366
    {
1979
366
        return detail::transform_error_impl(std::move(*this),
1980
366
                                            std::forward<F>(f));
1981
366
    }
_ZNO3scn2v48expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS6_9eof_errorEE15transform_errorIRFNS0_10scan_errorES9_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSF_
Line
Count
Source
1978
916
    {
1979
916
        return detail::transform_error_impl(std::move(*this),
1980
916
                                            std::forward<F>(f));
1981
916
    }
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESL_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSR_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESC_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSI_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEE15transform_errorIRFNS2_11parse_errorESC_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSI_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESE_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSK_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEE15transform_errorIZNS2_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSC_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSK_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEE15transform_errorIRFNS6_11parse_errorES7_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSD_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorES9_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSF_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEE15transform_errorIZNS6_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS7_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSF_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEE8sentinelILb1EEEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESI_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSO_
_ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorES8_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSE_
Line
Count
Source
1978
514
    {
1979
514
        return detail::transform_error_impl(std::move(*this),
1980
514
                                            std::forward<F>(f));
1981
514
    }
_ZNO3scn2v48expectedIPKwNS0_4impl9eof_errorEE15transform_errorIRFNS0_10scan_errorES5_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSB_
Line
Count
Source
1978
8.13k
    {
1979
8.13k
        return detail::transform_error_impl(std::move(*this),
1980
8.13k
                                            std::forward<F>(f));
1981
8.13k
    }
_ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_9eof_errorEE15transform_errorIRFNS2_11parse_errorES8_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSE_
Line
Count
Source
1978
1.16k
    {
1979
1.16k
        return detail::transform_error_impl(std::move(*this),
1980
1.16k
                                            std::forward<F>(f));
1981
1.16k
    }
_ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESA_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSG_
Line
Count
Source
1978
572
    {
1979
572
        return detail::transform_error_impl(std::move(*this),
1980
572
                                            std::forward<F>(f));
1981
572
    }
_ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_11parse_errorEE15transform_errorIZNS2_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS8_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSG_
Line
Count
Source
1978
506
    {
1979
506
        return detail::transform_error_impl(std::move(*this),
1980
506
                                            std::forward<F>(f));
1981
506
    }
_ZNO3scn2v48expectedIPKwNS0_4impl9eof_errorEE15transform_errorIRFNS4_11parse_errorES5_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSB_
Line
Count
Source
1978
5.61k
    {
1979
5.61k
        return detail::transform_error_impl(std::move(*this),
1980
5.61k
                                            std::forward<F>(f));
1981
5.61k
    }
_ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorES7_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSD_
Line
Count
Source
1978
2.70k
    {
1979
2.70k
        return detail::transform_error_impl(std::move(*this),
1980
2.70k
                                            std::forward<F>(f));
1981
2.70k
    }
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEE15transform_errorIRFNS0_10scan_errorESG_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSM_
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEE15transform_errorIRFNS0_10scan_errorESB_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSH_
_ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9sign_typeEEENS4_9eof_errorEE15transform_errorIRFNS0_10scan_errorESC_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSI_
Line
Count
Source
1978
182
    {
1979
182
        return detail::transform_error_impl(std::move(*this),
1980
182
                                            std::forward<F>(f));
1981
182
    }
_ZNO3scn2v48expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS6_9eof_errorEE15transform_errorIRFNS0_10scan_errorES9_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSF_
Line
Count
Source
1978
948
    {
1979
948
        return detail::transform_error_impl(std::move(*this),
1980
948
                                            std::forward<F>(f));
1981
948
    }
_ZNO3scn2v48expectedIPKcNS0_4impl9eof_errorEE15transform_errorIRFNS4_11parse_errorES5_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSB_
Line
Count
Source
1978
2.04k
    {
1979
2.04k
        return detail::transform_error_impl(std::move(*this),
1980
2.04k
                                            std::forward<F>(f));
1981
2.04k
    }
_ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESI_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSO_
Line
Count
Source
1978
2.33k
    {
1979
2.33k
        return detail::transform_error_impl(std::move(*this),
1980
2.33k
                                            std::forward<F>(f));
1981
2.33k
    }
_ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESI_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSO_
Line
Count
Source
1978
1.12k
    {
1979
1.12k
        return detail::transform_error_impl(std::move(*this),
1980
1.12k
                                            std::forward<F>(f));
1981
1.12k
    }
1982
    template <typename F>
1983
    constexpr auto transform_error(F&& f)
1984
        const&& -> decltype(detail::transform_error_impl(*this,
1985
                                                         std::forward<F>(f)))
1986
    {
1987
        return detail::transform_error_impl(std::move(*this),
1988
                                            std::forward<F>(f));
1989
    }
1990
1991
private:
1992
    template <typename... Args>
1993
    void emplace_impl(Args&&... args) noexcept(
1994
        std::is_nothrow_constructible_v<T, Args&&...>)
1995
    {
1996
        if (this->has_value()) {
1997
            this->destroy_value();
1998
            this->construct(std::forward<Args>(args)...);
1999
        }
2000
        else {
2001
#if SCN_HAS_EXCEPTIONS
2002
            if constexpr (std::is_nothrow_constructible_v<T, Args&&...>) {
2003
                auto tmp = std::move(error());
2004
                this->destroy_unexpected();
2005
2006
                try {
2007
                    this->construct(std::forward<Args>(args)...);
2008
                }
2009
                catch (...) {
2010
                    this->construct_unexpected(std::move(tmp));
2011
                    throw;
2012
                }
2013
            }
2014
            else {
2015
                this->construct(std::forward<Args>(args)...);
2016
            }
2017
#else
2018
            this->destroy_unexpected();
2019
            this->construct(std::forward<Args>(args)...);
2020
#endif
2021
        }
2022
    }
2023
2024
    template <typename Value>
2025
    void assign_value(Value&& val) noexcept(
2026
        std::is_nothrow_constructible_v<detail::remove_cvref_t<Value>,
2027
                                        Value&&> &&
2028
        std::is_nothrow_assignable_v<T, Value&&>)
2029
    {
2030
        if (has_value()) {
2031
            this->get_value() = std::forward<Value>(val);
2032
            return;
2033
        }
2034
2035
#if SCN_HAS_EXCEPTIONS
2036
        if constexpr (std::is_nothrow_constructible_v<T, Value&&>) {
2037
            this->destroy_unexpected();
2038
            this->construct(std::forward<Value>(val));
2039
        }
2040
        else {
2041
            auto tmp = std::move(this->get_unexpected());
2042
            this->destroy_unexpected();
2043
2044
            try {
2045
                this->construct(std::forward<Value>(val));
2046
            }
2047
            catch (...) {
2048
                this->construct_unexpected(std::move(tmp));
2049
            }
2050
        }
2051
#else
2052
        this->destroy_unexpected();
2053
        this->construct(std::forward<Value>(val));
2054
#endif
2055
    }
2056
2057
    template <typename Unexpected>
2058
    void assign_unexpected(Unexpected&& unex) noexcept(
2059
        std::is_nothrow_constructible_v<E, Unexpected&&> &&
2060
        std::is_nothrow_assignable_v<E, Unexpected&&>)
2061
    {
2062
        if (!has_value()) {
2063
            this->get_unexpected() = std::forward<Unexpected>(unex);
2064
            return;
2065
        }
2066
2067
        this->destroy_value();
2068
        this->construct_unexpected(std::forward<Unexpected>(unex));
2069
    }
2070
};
2071
2072
/////////////////////////////////////////////////////////////////
2073
// <ranges> implementation
2074
/////////////////////////////////////////////////////////////////
2075
2076
/**
2077
 * Contains a very minimal `<ranges>` implementation.
2078
 *
2079
 * This is a heavily stripped-down and adapted version of NanoRange:
2080
 * https://github.com/tcbrindle/NanoRange.
2081
 *
2082
 * NanoRange is provided under the Boost license.
2083
 * Copyright (c) 2018 Tristan Brindle (tcbrindle at gmail dot com)
2084
 */
2085
namespace ranges {
2086
2087
namespace detail {
2088
using namespace scn::detail;
2089
2090
template <typename T>
2091
constexpr auto decay_copy(T&& t) noexcept(
2092
    noexcept(static_cast<std::decay_t<T>>(SCN_FWD(t)))) -> std::decay_t<T>
2093
514k
{
2094
514k
    return SCN_FWD(t);
2095
514k
}
_ZN3scn2v46ranges6detail10decay_copyIPKcEEu7__decayIT_EOS6_
Line
Count
Source
2093
139k
{
2094
139k
    return SCN_FWD(t);
2095
139k
}
_ZN3scn2v46ranges6detail10decay_copyIPKwEEu7__decayIT_EOS6_
Line
Count
Source
2093
216k
{
2094
216k
    return SCN_FWD(t);
2095
216k
}
_ZN3scn2v46ranges6detail10decay_copyImEEu7__decayIT_EOS4_
Line
Count
Source
2093
152k
{
2094
152k
    return SCN_FWD(t);
2095
152k
}
Unexecuted instantiation: _ZN3scn2v46ranges6detail10decay_copyINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEEEEu7__decayIT_EOSD_
_ZN3scn2v46ranges6detail10decay_copyINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EEEEu7__decayIT_EOSA_
Line
Count
Source
2093
4.64k
{
2094
4.64k
    return SCN_FWD(t);
2095
4.64k
}
Unexecuted instantiation: _ZN3scn2v46ranges6detail10decay_copyINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEEu7__decayIT_EOS8_
Unexecuted instantiation: _ZN3scn2v46ranges6detail10decay_copyINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEEEEu7__decayIT_EOSD_
_ZN3scn2v46ranges6detail10decay_copyINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EEEEu7__decayIT_EOSA_
Line
Count
Source
2093
1.58k
{
2094
1.58k
    return SCN_FWD(t);
2095
1.58k
}
Unexecuted instantiation: _ZN3scn2v46ranges6detail10decay_copyINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEEu7__decayIT_EOS8_
Unexecuted instantiation: _ZN3scn2v46ranges6detail10decay_copyINS1_18default_sentinel_tEEEu7__decayIT_EOS5_
Unexecuted instantiation: _ZN3scn2v46ranges6detail10decay_copyINSt3__111__wrap_iterIPcEEEEu7__decayIT_EOS8_
2096
2097
template <bool>
2098
struct conditional {
2099
    template <typename T, typename>
2100
    using type = T;
2101
};
2102
2103
template <>
2104
struct conditional<false> {
2105
    template <typename, typename U>
2106
    using type = U;
2107
};
2108
2109
template <bool B, typename T, typename U>
2110
using conditional_t = typename conditional<B>::template type<T, U>;
2111
2112
template <template <class...> class AliasT, typename... Args>
2113
auto exists_helper(long) -> std::false_type;
2114
2115
template <template <class...> class AliasT,
2116
          typename... Args,
2117
          typename = AliasT<Args...>>
2118
auto exists_helper(int) -> std::true_type;
2119
2120
template <template <class...> class AliasT, typename... Args>
2121
inline constexpr bool exists_v =
2122
    decltype(exists_helper<AliasT, Args...>(0))::value;
2123
2124
template <typename, typename...>
2125
auto test_requires_fn(long) -> std::false_type;
2126
2127
template <typename R,
2128
          typename... Args,
2129
          typename = decltype(&R::template requires_<Args...>)>
2130
auto test_requires_fn(int) -> std::true_type;
2131
2132
template <typename R, typename... Args>
2133
inline constexpr bool requires_ =
2134
    decltype(test_requires_fn<R, Args...>(0))::value;
2135
2136
template <bool Expr>
2137
using requires_expr = std::enable_if_t<Expr, int>;
2138
}  // namespace detail
2139
2140
template <typename>
2141
inline constexpr bool enable_borrowed_range = false;
2142
2143
namespace detail {
2144
template <typename T>
2145
inline constexpr bool boolean_testable_impl = std::is_convertible_v<T, bool>;
2146
2147
struct boolean_testable_concept {
2148
    template <typename T>
2149
    auto requires_(T&& t)
2150
        -> requires_expr<boolean_testable_impl<decltype(!std::forward<T>(t))>>;
2151
};
2152
2153
template <typename T>
2154
inline constexpr bool boolean_testable =
2155
    boolean_testable_impl<T> && detail::requires_<boolean_testable_concept, T>;
2156
}  // namespace detail
2157
2158
namespace detail {
2159
struct weakly_equality_comparable_with_concept {
2160
    template <typename T, typename U>
2161
    auto requires_(const std::remove_reference_t<T>& t,
2162
                   const std::remove_reference_t<U>& u)
2163
        -> decltype(requires_expr<boolean_testable<decltype(t == u)>>{},
2164
                    requires_expr<boolean_testable<decltype(t != u)>>{},
2165
                    requires_expr<boolean_testable<decltype(u == t)>>{},
2166
                    requires_expr<boolean_testable<decltype(u != t)>>{});
2167
};
2168
2169
template <typename T, typename U>
2170
inline constexpr bool weakly_equality_comparable_with =
2171
    requires_<weakly_equality_comparable_with_concept, T, U>;
2172
}  // namespace detail
2173
2174
template <typename T>
2175
inline constexpr bool equality_comparable =
2176
    detail::weakly_equality_comparable_with<T, T>;
2177
2178
namespace detail {
2179
struct equality_comparable_with_concept {
2180
    template <typename, typename>
2181
    static auto test(long) -> std::false_type;
2182
2183
    template <typename T, typename U>
2184
    static auto test(int)
2185
        -> std::enable_if_t<equality_comparable<T> && equality_comparable<U> &&
2186
#if 0
2187
            common_reference_with<const std::remove_reference_t<T>&,
2188
                                  const std::remove_reference_t<U>&> &&
2189
            equality_comparable<
2190
                common_reference_t<const std::remove_reference_t<T>&,
2191
                                   const std::remove_reference_t<U>&>> &&
2192
#endif
2193
                                weakly_equality_comparable_with<T, U>,
2194
                            std::true_type>;
2195
};
2196
}  // namespace detail
2197
2198
template <typename T, typename U>
2199
inline constexpr bool equality_comparable_with =
2200
    decltype(detail::equality_comparable_with_concept::test<T, U>(0))::value;
2201
2202
namespace detail {
2203
struct partially_ordered_with_concept {
2204
    template <typename T, typename U>
2205
    auto requires_(const std::remove_reference_t<T>& t,
2206
                   const std::remove_reference_t<U>& u)
2207
        -> decltype(requires_expr<boolean_testable<decltype(t < u)>>{},
2208
                    requires_expr<boolean_testable<decltype(t > u)>>{},
2209
                    requires_expr<boolean_testable<decltype(t <= u)>>{},
2210
                    requires_expr<boolean_testable<decltype(t >= u)>>{},
2211
                    requires_expr<boolean_testable<decltype(u < t)>>{},
2212
                    requires_expr<boolean_testable<decltype(u > t)>>{},
2213
                    requires_expr<boolean_testable<decltype(u <= t)>>{},
2214
                    requires_expr<boolean_testable<decltype(u >= t)>>{});
2215
};
2216
2217
template <typename T, typename U>
2218
inline constexpr bool partially_ordered_with =
2219
    detail::requires_<detail::partially_ordered_with_concept, T, U>;
2220
}  // namespace detail
2221
2222
template <typename T>
2223
inline constexpr bool totally_ordered =
2224
    equality_comparable<T> && detail::partially_ordered_with<T, T>;
2225
2226
namespace detail {
2227
struct totally_ordered_with_concept {
2228
    template <typename, typename>
2229
    static auto test(long) -> std::false_type;
2230
2231
    template <typename T, typename U>
2232
    static auto test(int)
2233
        -> std::enable_if_t<totally_ordered<T> && totally_ordered<U> &&
2234
                                equality_comparable_with<T, U> &&
2235
#if 0
2236
                                totally_ordered<common_reference_t<
2237
                                    const std::remove_reference_t<T>&,
2238
                                    const std::remove_reference_t<U>&>> &&
2239
#endif
2240
                                partially_ordered_with<T, U>,
2241
                            std::true_type>;
2242
};
2243
}  // namespace detail
2244
2245
template <typename T, typename U>
2246
inline constexpr bool totally_ordered_with =
2247
    decltype(detail::totally_ordered_with_concept::test<T, U>(0))::value;
2248
2249
namespace detail {
2250
struct movable_concept {
2251
    template <typename T>
2252
    static auto test(long) -> std::false_type;
2253
2254
    template <typename T>
2255
    static auto test(int) -> std::enable_if_t<
2256
        std::is_object_v<T> && std::is_move_constructible_v<T> &&
2257
            std::is_move_assignable_v<T> && std::is_swappable_v<T>,
2258
        std::true_type>;
2259
};
2260
}  // namespace detail
2261
2262
template <typename T>
2263
inline constexpr bool movable =
2264
    decltype(detail::movable_concept::test<T>(0))::value;
2265
2266
namespace detail {
2267
struct copyable_concept {
2268
    template <typename>
2269
    static auto test(long) -> std::false_type;
2270
2271
    template <typename T>
2272
    static auto test(int)
2273
        -> std::enable_if_t<std::is_copy_constructible_v<T> && movable<T> &&
2274
                                std::is_copy_assignable_v<T>,
2275
                            std::true_type>;
2276
};
2277
}  // namespace detail
2278
2279
template <typename T>
2280
inline constexpr bool copyable =
2281
    decltype(detail::copyable_concept::test<T>(0))::value;
2282
2283
template <typename T>
2284
inline constexpr bool semiregular =
2285
    copyable<T> && std::is_default_constructible_v<T>;
2286
2287
template <typename T>
2288
inline constexpr bool regular = semiregular<T> && equality_comparable<T>;
2289
2290
template <typename>
2291
struct incrementable_traits;
2292
2293
namespace detail {
2294
struct empty {};
2295
2296
template <typename T>
2297
struct with_difference_type {
2298
    using difference_type = T;
2299
};
2300
2301
template <typename, typename = void>
2302
struct incrementable_traits_helper {};
2303
2304
// Workaround for GCC silliness: void* has no difference_type
2305
// FIXME: This is required to stop WeaklyIncrementable<void*> being a hard
2306
// error Can we formulate the concept differently to avoid the need for this
2307
// hack?
2308
template <>
2309
struct incrementable_traits_helper<void*> {};
2310
2311
template <typename T>
2312
struct incrementable_traits_helper<T*>
2313
    : detail::conditional_t<std::is_object_v<T>,
2314
                            with_difference_type<std::ptrdiff_t>,
2315
                            empty> {};
2316
2317
template <class I>
2318
struct incrementable_traits_helper<const I>
2319
    : incrementable_traits<std::decay_t<I>> {};
2320
2321
template <typename, typename = void>
2322
struct has_member_difference_type : std::false_type {};
2323
2324
template <typename T>
2325
struct has_member_difference_type<T, std::void_t<typename T::difference_type>>
2326
    : std::true_type {};
2327
2328
template <typename T>
2329
constexpr bool has_member_difference_type_v =
2330
    has_member_difference_type<T>::value;
2331
2332
template <typename T>
2333
struct incrementable_traits_helper<
2334
    T,
2335
    std::enable_if_t<has_member_difference_type_v<T>>> {
2336
    using difference_type = typename T::difference_type;
2337
};
2338
2339
template <typename T, typename = void>
2340
struct subtraction_result_type {
2341
    using type = void;
2342
};
2343
template <typename T>
2344
struct subtraction_result_type<
2345
    T,
2346
    std::void_t<decltype(std::declval<const T&>() -
2347
                         std::declval<const T&>())>> {
2348
    using type = decltype(std::declval<const T&>() - std::declval<const T&>());
2349
};
2350
2351
template <typename T>
2352
inline constexpr bool enable_incrtraits_subtractable =
2353
    !std::is_pointer_v<T> && !has_member_difference_type_v<T> &&
2354
    std::is_integral_v<typename subtraction_result_type<T>::type>;
2355
2356
template <typename T>
2357
struct incrementable_traits_helper<
2358
    T,
2359
    std::enable_if_t<enable_incrtraits_subtractable<T>>>
2360
    : with_difference_type<
2361
          std::make_signed_t<typename subtraction_result_type<T>::type>> {};
2362
}  // namespace detail
2363
2364
template <typename T>
2365
struct incrementable_traits : detail::incrementable_traits_helper<T> {};
2366
2367
template <typename T>
2368
using iter_difference_t = typename incrementable_traits<T>::difference_type;
2369
2370
template <typename>
2371
struct readable_traits;
2372
2373
namespace detail {
2374
template <typename T>
2375
struct with_value_type {
2376
    using value_type = T;
2377
};
2378
2379
template <typename, typename = void>
2380
struct readable_traits_helper {};
2381
2382
template <typename T>
2383
struct readable_traits_helper<T*>
2384
    : detail::conditional_t<std::is_object_v<T>,
2385
                            with_value_type<std::remove_cv_t<T>>,
2386
                            empty> {};
2387
2388
template <typename I>
2389
struct readable_traits_helper<I, std::enable_if_t<std::is_array_v<I>>>
2390
    : readable_traits<std::decay_t<I>> {};
2391
2392
template <typename I>
2393
struct readable_traits_helper<const I, std::enable_if_t<!std::is_array_v<I>>>
2394
    : readable_traits<std::decay_t<I>> {};
2395
2396
template <typename T, typename V = typename T::value_type>
2397
struct member_value_type
2398
    : detail::conditional_t<std::is_object_v<V>, with_value_type<V>, empty> {};
2399
2400
template <typename T, typename E = typename T::element_type>
2401
struct member_element_type
2402
    : detail::conditional_t<std::is_object_v<E>,
2403
                            with_value_type<std::remove_cv_t<E>>,
2404
                            empty> {};
2405
2406
template <typename T>
2407
using member_value_type_t = typename T::value_type;
2408
2409
template <typename T>
2410
constexpr bool has_member_value_type_v = exists_v<member_value_type_t, T>;
2411
2412
template <typename T>
2413
using member_element_type_t = typename T::element_type;
2414
2415
template <typename T>
2416
constexpr bool has_member_element_type_v = exists_v<member_element_type_t, T>;
2417
2418
template <typename T>
2419
struct readable_traits_helper<T,
2420
                              std::enable_if_t<has_member_value_type_v<T> &&
2421
                                               !has_member_element_type_v<T>>>
2422
    : member_value_type<T> {};
2423
2424
template <typename T>
2425
struct readable_traits_helper<T,
2426
                              std::enable_if_t<has_member_element_type_v<T> &&
2427
                                               !has_member_value_type_v<T>>>
2428
    : member_element_type<T> {};
2429
2430
// A type which has both value_type and element_type members must specialise
2431
// readable_traits to tell us which one to prefer -- see
2432
// https://github.com/ericniebler/stl2/issues/562
2433
template <typename T>
2434
struct readable_traits_helper<T,
2435
                              std::enable_if_t<has_member_element_type_v<T> &&
2436
                                               has_member_value_type_v<T>>> {};
2437
}  // namespace detail
2438
2439
template <typename T>
2440
struct readable_traits : detail::readable_traits_helper<T> {};
2441
2442
template <typename T>
2443
using iter_value_t = typename readable_traits<T>::value_type;
2444
2445
namespace detail {
2446
template <typename T>
2447
using with_reference = T&;
2448
2449
struct can_reference_concept {
2450
    template <typename T>
2451
    auto requires_() -> with_reference<T>;
2452
};
2453
2454
template <typename T>
2455
inline constexpr bool can_reference =
2456
    detail::requires_<can_reference_concept, T>;
2457
2458
struct dereferencable_concept {
2459
    template <typename T>
2460
    auto requires_(T& t)
2461
        -> decltype(requires_expr<can_reference<decltype(*t)>>{});
2462
};
2463
2464
template <typename T>
2465
inline constexpr bool dereferenceable = requires_<dereferencable_concept, T>;
2466
2467
// GCC and Clang allow dereferencing void* as an extension.
2468
// Let's kill that off now.
2469
2470
template <>
2471
inline constexpr bool dereferenceable<void*> = false;
2472
}  // namespace detail
2473
2474
using std::bidirectional_iterator_tag;
2475
using std::forward_iterator_tag;
2476
using std::input_iterator_tag;
2477
using std::output_iterator_tag;
2478
using std::random_access_iterator_tag;
2479
2480
#if SCN_STD >= SCN_STD_20 && defined(__cpp_lib_ranges) && \
2481
    __cpp_lib_ranges >= 201911L
2482
using std::contiguous_iterator_tag;
2483
#else
2484
struct contiguous_iterator_tag : random_access_iterator_tag {};
2485
#endif
2486
2487
template <typename T>
2488
struct iterator_category;
2489
2490
namespace detail {
2491
template <typename T, typename = void>
2492
struct iterator_category_ {};
2493
template <typename T>
2494
struct iterator_category_<T*>
2495
    : std::enable_if<std::is_object_v<T>, contiguous_iterator_tag> {};
2496
template <typename T>
2497
struct iterator_category_<const T> : iterator_category<T> {};
2498
template <typename T>
2499
struct iterator_category_<T, std::void_t<typename T::iterator_category>> {
2500
    using type = typename T::iterator_category;
2501
};
2502
}  // namespace detail
2503
2504
template <typename T>
2505
struct iterator_category : detail::iterator_category_<T> {};
2506
template <typename T>
2507
using iterator_category_t = typename iterator_category<T>::type;
2508
2509
namespace detail {
2510
2511
template <typename T, typename = void>
2512
struct legacy_iterator_category : iterator_category<T> {};
2513
2514
template <typename T>
2515
struct legacy_iterator_category<
2516
    T,
2517
    std::enable_if_t<
2518
        std::is_same_v<iterator_category_t<T>, contiguous_iterator_tag>>> {
2519
    using type = random_access_iterator_tag;
2520
};
2521
2522
template <typename T>
2523
using legacy_iterator_category_t = typename legacy_iterator_category<T>::type;
2524
2525
}  // namespace detail
2526
2527
template <typename T>
2528
using iter_reference_t =
2529
    std::enable_if_t<detail::dereferenceable<T>, decltype(*std::declval<T&>())>;
2530
2531
namespace detail {
2532
2533
struct readable_concept {
2534
    template <typename In>
2535
    auto requires_() -> decltype(std::declval<iter_value_t<In>>(),
2536
                                 std::declval<iter_reference_t<In>>());
2537
    // std::declval<iter_rvalue_reference_t<In>>());
2538
2539
    template <typename>
2540
    static auto test(long) -> std::false_type;
2541
2542
    template <typename In>
2543
    static auto test(int)
2544
        -> std::enable_if_t<detail::requires_<readable_concept, In>,
2545
#if 0
2546
            common_reference_with<iter_reference_t<In>&&, iter_value_t<In>&> &&
2547
            common_reference_with<iter_reference_t<In>&&,
2548
                                  iter_rvalue_reference_t<In>&&> &&
2549
            common_reference_with<iter_rvalue_reference_t<In>&&,
2550
                                  const iter_value_t<In>&>,
2551
#endif
2552
                            std::true_type>;
2553
};
2554
2555
}  // namespace detail
2556
2557
template <typename In>
2558
inline constexpr bool readable =
2559
    decltype(detail::readable_concept::test<In>(0))::value;
2560
2561
namespace detail {
2562
2563
struct writable_concept {
2564
    template <typename Out, typename T>
2565
    auto requires_(Out&& o, T&& t)
2566
        -> decltype(*o = std::forward<T>(t),
2567
                    *std::forward<Out>(o) = std::forward<T>(t),
2568
                    const_cast<const iter_reference_t<Out>&&>(*o) =
2569
                        std::forward<T>(t),
2570
                    const_cast<const iter_reference_t<Out>&&>(
2571
                        *std::forward<Out>(o)) = std::forward<T>(t));
2572
};
2573
2574
}  // namespace detail
2575
2576
template <typename Out, typename T>
2577
inline constexpr bool writable =
2578
    detail::requires_<detail::writable_concept, Out, T>;
2579
2580
namespace detail {
2581
2582
template <typename T>
2583
inline constexpr bool is_integer_like = std::is_integral_v<T>;
2584
2585
template <typename T>
2586
inline constexpr bool is_signed_integer_like =
2587
    std::is_integral_v<T> && std::is_signed_v<T>;
2588
2589
struct weakly_incrementable_concept {
2590
    template <typename I>
2591
    auto requires_(I i)
2592
        -> decltype(std::declval<iter_difference_t<I>>(),
2593
                    requires_expr<
2594
                        is_signed_integer_like<iter_difference_t<I>>>{},
2595
                    requires_expr<std::is_same_v<decltype(++i), I&>>{},
2596
                    i++);
2597
};
2598
2599
}  // namespace detail
2600
2601
template <typename I>
2602
inline constexpr bool weakly_incrementable =
2603
    std::is_default_constructible_v<I> && movable<I> &&
2604
    detail::requires_<detail::weakly_incrementable_concept, I>;
2605
2606
namespace detail {
2607
2608
struct incrementable_concept {
2609
    template <typename I>
2610
    auto requires_(I i)
2611
        -> decltype(requires_expr<std::is_same_v<decltype(i++), I>>{});
2612
};
2613
2614
}  // namespace detail
2615
2616
template <typename I>
2617
inline constexpr bool incrementable =
2618
    regular<I> && weakly_incrementable<I> &&
2619
    detail::requires_<detail::incrementable_concept, I>;
2620
2621
namespace detail {
2622
2623
struct input_or_output_iterator_concept {
2624
    template <typename I>
2625
    auto requires_(I i)
2626
        -> decltype(requires_expr<can_reference<decltype(*i)>>{});
2627
};
2628
2629
}  // namespace detail
2630
2631
template <typename I>
2632
inline constexpr bool input_or_output_iterator =
2633
    detail::requires_<detail::input_or_output_iterator_concept, I> &&
2634
    weakly_incrementable<I>;
2635
2636
template <typename S, typename I>
2637
inline constexpr bool sentinel_for =
2638
    semiregular<S> && input_or_output_iterator<I> &&
2639
    detail::weakly_equality_comparable_with<S, I>;
2640
2641
template <typename S, typename I>
2642
inline constexpr bool disable_sized_sentinel = false;
2643
2644
namespace detail {
2645
2646
struct sized_sentinel_for_concept {
2647
    template <typename S, typename I>
2648
    auto requires_(const S& s, const I& i)
2649
        -> decltype(requires_expr<std::is_same_v<decltype(s - i),
2650
                                                 iter_difference_t<I>>>{},
2651
                    requires_expr<std::is_same_v<decltype(i - s),
2652
                                                 iter_difference_t<I>>>{});
2653
};
2654
2655
}  // namespace detail
2656
2657
template <typename S, typename I>
2658
inline constexpr bool sized_sentinel_for =
2659
    sentinel_for<S, I> &&
2660
    !disable_sized_sentinel<std::remove_cv_t<S>, std::remove_cv_t<I>> &&
2661
    detail::requires_<detail::sized_sentinel_for_concept, S, I>;
2662
2663
// This is a hack, but I'm fed up with my tests breaking because GCC
2664
// has a silly extension
2665
template <typename S>
2666
inline constexpr bool sized_sentinel_for<S, void*> = false;
2667
2668
template <typename I>
2669
inline constexpr bool sized_sentinel_for<void*, I> = false;
2670
2671
template <>
2672
inline constexpr bool sized_sentinel_for<void*, void*> = false;
2673
2674
namespace detail {
2675
2676
// FIXME: Use ITER_CONCEPT, not iterator_category_t
2677
struct input_iterator_concept {
2678
    template <typename I>
2679
    auto requires_() -> iterator_category_t<I>;
2680
2681
    template <typename>
2682
    static auto test(long) -> std::false_type;
2683
2684
    template <typename I>
2685
    static auto test(int) -> std::enable_if_t<
2686
        input_or_output_iterator<I> && readable<I> &&
2687
            detail::requires_<input_iterator_concept, I> &&
2688
            std::is_base_of_v<input_iterator_tag, iterator_category_t<I>>,
2689
        std::true_type>;
2690
};
2691
2692
}  // namespace detail
2693
2694
template <typename I>
2695
inline constexpr bool input_iterator =
2696
    decltype(detail::input_iterator_concept::test<I>(0))::value;
2697
2698
namespace detail {
2699
2700
struct output_iterator_concept {
2701
    template <typename I, typename T>
2702
    auto requires_(I i, T&& t) -> decltype(*i++ = std::forward<T>(t));
2703
};
2704
2705
}  // namespace detail
2706
2707
template <typename I, typename T>
2708
inline constexpr bool output_iterator =
2709
    input_or_output_iterator<I> && writable<I, T> &&
2710
    detail::requires_<detail::output_iterator_concept, I, T>;
2711
2712
namespace detail {
2713
2714
struct forward_iterator_concept {
2715
    template <typename>
2716
    static auto test(long) -> std::false_type;
2717
2718
    template <typename I>
2719
    static auto test(int) -> std::enable_if_t<
2720
        input_iterator<I> &&
2721
            std::is_base_of_v<forward_iterator_tag, iterator_category_t<I>> &&
2722
            incrementable<I> && sentinel_for<I, I>,
2723
        std::true_type>;
2724
};
2725
2726
}  // namespace detail
2727
2728
template <typename I>
2729
inline constexpr bool forward_iterator =
2730
    decltype(detail::forward_iterator_concept::test<I>(0))::value;
2731
2732
namespace detail {
2733
2734
struct bidirectional_iterator_concept {
2735
    template <typename I>
2736
    auto requires_(I i)
2737
        -> decltype(requires_expr<std::is_same_v<decltype(--i), I&>>{},
2738
                    requires_expr<std::is_same_v<decltype(i--), I>>{});
2739
2740
    template <typename>
2741
    static auto test(long) -> std::false_type;
2742
2743
    template <typename I>
2744
    static auto test(int) -> std::enable_if_t<
2745
        forward_iterator<I> &&
2746
            std::is_base_of_v<bidirectional_iterator_tag,
2747
                              iterator_category_t<I>> &&
2748
            detail::requires_<bidirectional_iterator_concept, I>,
2749
        std::true_type>;
2750
};
2751
2752
}  // namespace detail
2753
2754
template <typename I>
2755
inline constexpr bool bidirectional_iterator =
2756
    decltype(detail::bidirectional_iterator_concept::test<I>(0))::value;
2757
2758
namespace detail {
2759
2760
struct random_access_iterator_concept {
2761
    template <typename>
2762
    static auto test(long) -> std::false_type;
2763
2764
    template <typename I>
2765
    static auto test(int) -> std::enable_if_t<
2766
        bidirectional_iterator<I> &&
2767
            std::is_base_of_v<random_access_iterator_tag,
2768
                              iterator_category_t<I>> &&
2769
            totally_ordered<I> && sized_sentinel_for<I, I> &&
2770
            detail::requires_<random_access_iterator_concept, I>,
2771
        std::true_type>;
2772
2773
    template <typename I>
2774
    auto requires_(I i, const I j, const iter_difference_t<I> n)
2775
        -> decltype(requires_expr<std::is_same_v<decltype(i += n), I&>>{},
2776
                    requires_expr<std::is_same_v<decltype(j + n), I>>{},
2777
#ifndef _MSC_VER
2778
                    requires_expr<std::is_same_v<decltype(n + j),
2779
                                                 I>>{},  // FIXME: MSVC doesn't
2780
                                                         // like this when I =
2781
                                                         // int*
2782
#endif
2783
                    requires_expr<std::is_same_v<decltype(i -= n), I&>>{},
2784
                    requires_expr<std::is_same_v<decltype(j - n), I>>{},
2785
                    requires_expr<
2786
                        std::is_same_v<decltype(j[n]), iter_reference_t<I>>>{});
2787
};
2788
2789
}  // namespace detail
2790
2791
template <typename I>
2792
inline constexpr bool random_access_iterator =
2793
    decltype(detail::random_access_iterator_concept::test<I>(0))::value;
2794
2795
namespace detail {
2796
2797
struct contiguous_iterator_concept {
2798
    template <typename>
2799
    static auto test(long) -> std::false_type;
2800
2801
    template <typename I>
2802
    static auto test(int) -> std::enable_if_t<
2803
        random_access_iterator<I> &&
2804
            /*std::is_base_of_v<contiguous_iterator_tag,
2805
                              iterator_category_t<I>> &&*/
2806
            detail::can_make_address_from_iterator<I> &&
2807
            std::is_lvalue_reference_v<iter_reference_t<I>> &&
2808
            std::is_same_v<iter_value_t<I>,
2809
                           remove_cvref_t<iter_reference_t<I>>>,
2810
        std::true_type>;
2811
};
2812
2813
}  // namespace detail
2814
2815
template <typename I>
2816
inline constexpr bool contiguous_iterator =
2817
    decltype(detail::contiguous_iterator_concept::test<I>(0))::value;
2818
2819
namespace detail::begin_ {
2820
2821
template <typename T>
2822
void begin(T&) = delete;
2823
template <typename T>
2824
void begin(const T&) = delete;
2825
2826
struct fn {
2827
private:
2828
    template <typename T,
2829
              std::enable_if_t<!std::is_lvalue_reference_v<T> &&
2830
                               !enable_borrowed_range<std::remove_cv_t<T>>>* =
2831
                  nullptr>
2832
    static constexpr void impl(T&&, priority_tag<3>) = delete;
2833
2834
    template <typename T,
2835
              std::enable_if_t<std::is_array_v<remove_cvref_t<T>>>* = nullptr>
2836
    static constexpr auto impl(T&& t, priority_tag<2>) noexcept
2837
        -> decltype(t + 0)
2838
    {
2839
        static_assert(ranges::input_or_output_iterator<decltype(t + 0)>);
2840
        return t + 0;
2841
    }
2842
2843
    template <typename T>
2844
    static constexpr auto impl(T&& t, priority_tag<1>) noexcept(
2845
        noexcept(decay_copy(SCN_FWD(t).begin())))
2846
        -> std::enable_if_t<
2847
            input_or_output_iterator<decltype(decay_copy(SCN_FWD(t).begin()))>,
2848
            decltype(decay_copy(SCN_FWD(t).begin()))>
2849
355k
    {
2850
355k
        return decay_copy(t.begin());
2851
355k
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<std::__1::basic_string_view<char, std::__1::char_traits<char> >&>(std::__1::basic_string_view<char, std::__1::char_traits<char> >&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2849
2.11k
    {
2850
2.11k
        return decay_copy(t.begin());
2851
2.11k
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2849
1.82k
    {
2850
1.82k
        return decay_copy(t.begin());
2851
1.82k
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> const&>(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> const&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&>(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&, scn::v4::detail::priority_tag<1ul>)
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2849
2.14k
    {
2850
2.14k
        return decay_copy(t.begin());
2851
2.14k
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&>(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2849
135k
    {
2850
135k
        return decay_copy(t.begin());
2851
135k
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::detail::priority_tag<1ul>)
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >&>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2849
358
    {
2850
358
        return decay_copy(t.begin());
2851
358
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&, scn::v4::detail::priority_tag<1ul>)
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2849
710
    {
2850
710
        return decay_copy(t.begin());
2851
710
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&>(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2849
212k
    {
2850
212k
        return decay_copy(t.begin());
2851
212k
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::detail::priority_tag<1ul>)
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >&>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2849
162
    {
2850
162
        return decay_copy(t.begin());
2851
162
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> > const&>(scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> > const&, scn::v4::detail::priority_tag<1ul>)
2852
2853
    template <typename T>
2854
    static constexpr auto impl(T&& t, priority_tag<0>) noexcept(
2855
        noexcept(decay_copy(begin(SCN_FWD(t)))))
2856
        -> std::enable_if_t<
2857
            input_or_output_iterator<decltype(decay_copy(begin(SCN_FWD(t))))>,
2858
            decltype(decay_copy(begin(SCN_FWD(t))))>
2859
    {
2860
        return decay_copy(begin(SCN_FWD(t)));
2861
    }
2862
2863
public:
2864
    template <typename T>
2865
    constexpr auto operator()(T&& t) const
2866
        noexcept(noexcept(fn::impl(SCN_FWD(t), priority_tag<3>{})))
2867
            -> decltype(fn::impl(SCN_FWD(t), priority_tag<3>{}))
2868
355k
    {
2869
355k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2870
355k
    }
_ZNK3scn2v46ranges6detail6begin_2fnclIRNSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2868
2.11k
    {
2869
2.11k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2870
2.11k
    }
_ZNK3scn2v46ranges6detail6begin_2fnclIRNSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2868
1.82k
    {
2869
1.82k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2870
1.82k
    }
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6begin_2fnclIRKNS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6begin_2fnclIRKNS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEESG_EEEEDTclsr2fnE4implscDtfp_Efp_tlNSB_12priority_tagILm3EEEEEEOT_
_ZNK3scn2v46ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EESD_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2868
2.14k
    {
2869
2.14k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2870
2.14k
    }
_ZNK3scn2v46ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2868
135k
    {
2869
135k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2870
135k
    }
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEENS8_15take_width_viewINS7_ISE_SF_EEE8sentinelILb1EEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNSB_12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS8_12priority_tagILm3EEEEEEOT_
_ZNK3scn2v46ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS8_15take_width_viewINS7_ISC_SC_EEE8sentinelILb1EEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2868
358
    {
2869
358
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2870
358
    }
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEESG_EEEEDTclsr2fnE4implscDtfp_Efp_tlNSB_12priority_tagILm3EEEEEEOT_
_ZNK3scn2v46ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EESD_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2868
710
    {
2869
710
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2870
710
    }
_ZNK3scn2v46ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2868
212k
    {
2869
212k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2870
212k
    }
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEENS8_15take_width_viewINS7_ISE_SF_EEE8sentinelILb1EEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNSB_12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS8_12priority_tagILm3EEEEEEOT_
_ZNK3scn2v46ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS8_15take_width_viewINS7_ISC_SC_EEE8sentinelILb1EEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2868
162
    {
2869
162
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2870
162
    }
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6begin_2fnclINS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6begin_2fnclINS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6begin_2fnclIRKNS2_9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS8_12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6begin_2fnclIRNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6begin_2fnclIRKNS2_9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS8_12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6begin_2fnclIRKNS2_9subrange_8subrangeINSt3__111__wrap_iterIPcEESB_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
2871
};
2872
2873
}  // namespace detail::begin_
2874
2875
inline constexpr auto begin = detail::begin_::fn{};
2876
2877
namespace detail::end_ {
2878
2879
template <typename T>
2880
void end(T&) = delete;
2881
template <typename T>
2882
void end(const T&) = delete;
2883
2884
struct fn {
2885
private:
2886
    template <typename T,
2887
              std::enable_if_t<!std::is_lvalue_reference_v<T> &&
2888
                               !enable_borrowed_range<std::remove_cv_t<T>>>* =
2889
                  nullptr>
2890
    static constexpr void impl(T&&, priority_tag<3>) = delete;
2891
2892
    template <typename T,
2893
              std::enable_if_t<std::is_array_v<remove_cvref_t<T>>>* = nullptr>
2894
    static constexpr auto impl(T&& t, priority_tag<2>) noexcept
2895
        -> decltype(t + std::extent_v<remove_cvref_t<T>>)
2896
    {
2897
        return t + std::extent_v<remove_cvref_t<T>>;
2898
    }
2899
2900
    template <typename T,
2901
              typename S = decltype(decay_copy(SCN_DECLVAL(T).end())),
2902
              typename I = decltype(::scn::ranges::begin(SCN_DECLVAL(T)))>
2903
    static constexpr auto impl(T&& t, priority_tag<1>) noexcept(
2904
        noexcept(decay_copy(SCN_FWD(t).end())))
2905
        -> std::enable_if_t<sentinel_for<S, I>,
2906
                            decltype(decay_copy(SCN_FWD(t).end()))>
2907
6.79k
    {
2908
6.79k
        return decay_copy(SCN_FWD(t).end());
2909
6.79k
    }
std::__1::enable_if<sentinel_for<char const*, char const*>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<std::__1::basic_string_view<char, std::__1::char_traits<char> >&, char const*, char const*>(std::__1::basic_string_view<char, std::__1::char_traits<char> >&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2907
2.11k
    {
2908
2.11k
        return decay_copy(SCN_FWD(t).end());
2909
2.11k
    }
std::__1::enable_if<sentinel_for<wchar_t const*, wchar_t const*>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, wchar_t const*, wchar_t const*>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2907
1.82k
    {
2908
1.82k
        return decay_copy(SCN_FWD(t).end());
2909
1.82k
    }
Unexecuted instantiation: std::__1::enable_if<sentinel_for<char const*, char const*>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> const&, char const*, char const*>(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> const&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<sentinel_for<wchar_t const*, wchar_t const*>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&, wchar_t const*, wchar_t const*>(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<sentinel_for<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&, scn::v4::detail::priority_tag<1ul>)
std::__1::enable_if<sentinel_for<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2907
2.14k
    {
2908
2.14k
        return decay_copy(SCN_FWD(t).end());
2909
2.14k
    }
Unexecuted instantiation: std::__1::enable_if<sentinel_for<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&, scn::v4::detail::priority_tag<1ul>)
std::__1::enable_if<sentinel_for<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2907
710
    {
2908
710
        return decay_copy(SCN_FWD(t).end());
2909
710
    }
Unexecuted instantiation: std::__1::enable_if<sentinel_for<scn::v4::ranges::default_sentinel_t, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::ranges::default_sentinel_t, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<sentinel_for<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<sentinel_for<char const*, char const*>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&, char const*, char const*>(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<sentinel_for<scn::v4::ranges::default_sentinel_t, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::ranges::default_sentinel_t, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<sentinel_for<wchar_t const*, wchar_t const*>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&, wchar_t const*, wchar_t const*>(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<sentinel_for<scn::v4::ranges::default_sentinel_t, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, scn::v4::ranges::default_sentinel_t, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<sentinel_for<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> > const&, std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >(scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> > const&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<sentinel_for<scn::v4::ranges::default_sentinel_t, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, scn::v4::ranges::default_sentinel_t, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, scn::v4::detail::priority_tag<1ul>)
2910
2911
    template <typename T,
2912
              typename S = decltype(decay_copy(end(SCN_DECLVAL(T)))),
2913
              typename I = decltype(::scn::ranges::begin(SCN_DECLVAL(T)))>
2914
    static constexpr auto impl(T&& t, priority_tag<0>) noexcept(noexcept(
2915
        decay_copy(end(SCN_FWD(t))))) -> std::enable_if_t<sentinel_for<S, I>, S>
2916
    {
2917
        return decay_copy(end(SCN_FWD(t)));
2918
    }
2919
2920
public:
2921
    template <typename T>
2922
    constexpr auto operator()(T&& t) const
2923
        noexcept(noexcept(fn::impl(SCN_FWD(t), priority_tag<3>{})))
2924
            -> decltype(fn::impl(SCN_FWD(t), priority_tag<3>{}))
2925
6.79k
    {
2926
6.79k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2927
6.79k
    }
_ZNK3scn2v46ranges6detail4end_2fnclIRNSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2925
2.11k
    {
2926
2.11k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2927
2.11k
    }
_ZNK3scn2v46ranges6detail4end_2fnclIRNSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2925
1.82k
    {
2926
1.82k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2927
1.82k
    }
Unexecuted instantiation: _ZNK3scn2v46ranges6detail4end_2fnclIRKNS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail4end_2fnclIRKNS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail4end_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEESG_EEEEDTclsr2fnE4implscDtfp_Efp_tlNSB_12priority_tagILm3EEEEEEOT_
_ZNK3scn2v46ranges6detail4end_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EESD_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2925
2.14k
    {
2926
2.14k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2927
2.14k
    }
Unexecuted instantiation: _ZNK3scn2v46ranges6detail4end_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEESG_EEEEDTclsr2fnE4implscDtfp_Efp_tlNSB_12priority_tagILm3EEEEEEOT_
_ZNK3scn2v46ranges6detail4end_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EESD_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2925
710
    {
2926
710
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2927
710
    }
Unexecuted instantiation: _ZNK3scn2v46ranges6detail4end_2fnclIRNS2_9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS8_12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail4end_2fnclIRNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail4end_2fnclIRNS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail4end_2fnclIRNS2_9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS8_12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail4end_2fnclIRNS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail4end_2fnclIRKNS2_9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS8_12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail4end_2fnclIRKNS2_9subrange_8subrangeINSt3__111__wrap_iterIPcEESB_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail4end_2fnclIRKNS2_9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS8_12priority_tagILm3EEEEEEOT_
2928
};
2929
2930
}  // namespace detail::end_
2931
2932
inline constexpr auto end = detail::end_::fn{};
2933
2934
namespace detail {
2935
struct range_concept {
2936
    template <typename T>
2937
    auto requires_(T& t) -> decltype(ranges::begin(t), ranges::end(t));
2938
};
2939
}  // namespace detail
2940
2941
template <typename T>
2942
inline constexpr bool range = detail::requires_<detail::range_concept, T>;
2943
2944
template <typename T>
2945
using iterator_t = decltype(ranges::begin(std::declval<T&>()));
2946
2947
template <typename R>
2948
using sentinel_t =
2949
    std::enable_if_t<range<R>, decltype(ranges::end(std::declval<R&>()))>;
2950
2951
template <typename R>
2952
using range_difference_t =
2953
    std::enable_if_t<range<R>, iter_difference_t<iterator_t<R>>>;
2954
2955
template <typename R>
2956
using range_value_t = std::enable_if_t<range<R>, iter_value_t<iterator_t<R>>>;
2957
2958
template <typename R>
2959
using range_reference_t =
2960
    std::enable_if_t<range<R>, iter_reference_t<iterator_t<R>>>;
2961
2962
namespace detail {
2963
template <typename, typename = void>
2964
inline constexpr bool is_object_pointer_v = false;
2965
template <typename P>
2966
inline constexpr bool
2967
    is_object_pointer_v<P,
2968
                        std::enable_if_t<std::is_pointer_v<P> &&
2969
                                         std::is_object_v<iter_value_t<P>>>> =
2970
        true;
2971
2972
namespace data_ {
2973
2974
struct fn {
2975
private:
2976
    template <typename T,
2977
              typename D = decltype(decay_copy(SCN_DECLVAL(T&).data()))>
2978
    static constexpr auto impl(T& t, priority_tag<1>) noexcept(noexcept(
2979
        decay_copy(t.data()))) -> std::enable_if_t<is_object_pointer_v<D>, D>
2980
352k
    {
2981
352k
        return t.data();
2982
352k
    }
std::__1::enable_if<is_object_pointer_v<char const*>, char const*>::type scn::v4::ranges::detail::data_::fn::impl<std::__1::basic_string_view<char, std::__1::char_traits<char> >, char const*>(std::__1::basic_string_view<char, std::__1::char_traits<char> >&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2980
7.57k
    {
2981
7.57k
        return t.data();
2982
7.57k
    }
Unexecuted instantiation: std::__1::enable_if<is_object_pointer_v<wchar_t const*>, wchar_t const*>::type scn::v4::ranges::detail::data_::fn::impl<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, wchar_t const*>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, scn::v4::detail::priority_tag<1ul>)
std::__1::enable_if<is_object_pointer_v<char const*>, char const*>::type scn::v4::ranges::detail::data_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char const*>(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2980
131k
    {
2981
131k
        return t.data();
2982
131k
    }
std::__1::enable_if<is_object_pointer_v<wchar_t const*>, wchar_t const*>::type scn::v4::ranges::detail::data_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t const*>(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2980
212k
    {
2981
212k
        return t.data();
2982
212k
    }
Unexecuted instantiation: std::__1::enable_if<is_object_pointer_v<char const*>, char const*>::type scn::v4::ranges::detail::data_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> const, char const*>(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> const&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<is_object_pointer_v<wchar_t const*>, wchar_t const*>::type scn::v4::ranges::detail::data_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const, wchar_t const*>(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&, scn::v4::detail::priority_tag<1ul>)
2983
2984
    template <typename T>
2985
    static constexpr auto impl(T&& t, priority_tag<0>) noexcept(
2986
        noexcept(scn::ranges::begin(SCN_FWD(t))))
2987
        -> std::enable_if_t<
2988
            is_object_pointer_v<decltype(scn::ranges::begin(SCN_FWD(t)))>,
2989
            decltype(scn::ranges::begin(SCN_FWD(t)))>
2990
0
    {
2991
0
        return scn::ranges::begin(SCN_FWD(t));
2992
0
    }
Unexecuted instantiation: std::__1::enable_if<is_object_pointer_v<decltype (scn::v4::ranges::begin(static_cast<decltype ({parm#1})>({parm#1})))>, decltype (scn::v4::ranges::begin(static_cast<decltype ({parm#1})>({parm#1})))>::type scn::v4::ranges::detail::data_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&&, scn::v4::detail::priority_tag<0ul>)
Unexecuted instantiation: std::__1::enable_if<is_object_pointer_v<decltype (scn::v4::ranges::begin(static_cast<decltype ({parm#1})>({parm#1})))>, decltype (scn::v4::ranges::begin(static_cast<decltype ({parm#1})>({parm#1})))>::type scn::v4::ranges::detail::data_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&&, scn::v4::detail::priority_tag<0ul>)
2993
2994
public:
2995
    template <typename T>
2996
    constexpr auto operator()(T&& t) const
2997
        noexcept(noexcept(fn::impl(SCN_FWD(t), priority_tag<1>{})))
2998
            -> decltype(fn::impl(SCN_FWD(t), priority_tag<1>{}))
2999
352k
    {
3000
352k
        return fn::impl(SCN_FWD(t), priority_tag<1>{});
3001
352k
    }
_ZNK3scn2v46ranges6detail5data_2fnclIRNSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm1EEEEEEOT_
Line
Count
Source
2999
7.57k
    {
3000
7.57k
        return fn::impl(SCN_FWD(t), priority_tag<1>{});
3001
7.57k
    }
Unexecuted instantiation: _ZNK3scn2v46ranges6detail5data_2fnclIRNSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm1EEEEEEOT_
_ZNK3scn2v46ranges6detail5data_2fnclIRNS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm1EEEEEEOT_
Line
Count
Source
2999
131k
    {
3000
131k
        return fn::impl(SCN_FWD(t), priority_tag<1>{});
3001
131k
    }
_ZNK3scn2v46ranges6detail5data_2fnclIRNS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm1EEEEEEOT_
Line
Count
Source
2999
212k
    {
3000
212k
        return fn::impl(SCN_FWD(t), priority_tag<1>{});
3001
212k
    }
Unexecuted instantiation: _ZNK3scn2v46ranges6detail5data_2fnclINS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm1EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail5data_2fnclINS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm1EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail5data_2fnclIRKNS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm1EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail5data_2fnclIRKNS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm1EEEEEEOT_
3002
};
3003
3004
}  // namespace data_
3005
}  // namespace detail
3006
3007
inline constexpr auto data = detail::data_::fn{};
3008
3009
template <typename T>
3010
inline constexpr bool disable_sized_range = false;
3011
3012
namespace detail::size_ {
3013
3014
template <typename T>
3015
void size(T&&) = delete;
3016
template <typename T>
3017
void size(T&) = delete;
3018
3019
struct fn {
3020
private:
3021
    template <typename T, std::size_t N>
3022
    static constexpr std::size_t impl(const T (&&)[N], priority_tag<3>) noexcept
3023
    {
3024
        return N;
3025
    }
3026
3027
    template <typename T, std::size_t N>
3028
    static constexpr std::size_t impl(const T (&)[N], priority_tag<3>) noexcept
3029
    {
3030
        return N;
3031
    }
3032
3033
    template <typename T,
3034
              typename I = decltype(decay_copy(std::declval<T>().size()))>
3035
    static constexpr auto impl(T&& t, priority_tag<2>) noexcept(
3036
        noexcept(decay_copy(SCN_FWD(t).size())))
3037
        -> std::enable_if_t<std::is_integral_v<I> &&
3038
                                !disable_sized_range<remove_cvref_t<T>>,
3039
                            I>
3040
152k
    {
3041
152k
        return decay_copy(SCN_FWD(t).size());
3042
152k
    }
_ZN3scn2v46ranges6detail5size_2fn4implIRNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEmEENS6_9enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESF_E4typeEOSG_NS0_6detail12priority_tagILm2EEE
Line
Count
Source
3040
110
    {
3041
110
        return decay_copy(SCN_FWD(t).size());
3042
110
    }
Unexecuted instantiation: _ZN3scn2v46ranges6detail5size_2fn4implIRNSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEmEENS6_9enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESD_E4typeEOSE_NS0_6detail12priority_tagILm2EEE
Unexecuted instantiation: _ZN3scn2v46ranges6detail5size_2fn4implIRNSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEmEENS6_9enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESD_E4typeEOSE_NS0_6detail12priority_tagILm2EEE
_ZN3scn2v46ranges6detail5size_2fn4implIRKNSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEmEENS6_9enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESE_E4typeEOSF_NS0_6detail12priority_tagILm2EEE
Line
Count
Source
3040
76
    {
3041
76
        return decay_copy(SCN_FWD(t).size());
3042
76
    }
_ZN3scn2v46ranges6detail5size_2fn4implIRKNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEmEENS6_9enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESG_E4typeEOSH_NS0_6detail12priority_tagILm2EEE
Line
Count
Source
3040
12
    {
3041
12
        return decay_copy(SCN_FWD(t).size());
3042
12
    }
Unexecuted instantiation: _ZN3scn2v46ranges6detail5size_2fn4implIRKNSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEmEENS6_9enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESE_E4typeEOSF_NS0_6detail12priority_tagILm2EEE
_ZN3scn2v46ranges6detail5size_2fn4implIRNS2_9subrange_8subrangeIPKcS9_EEmEENSt3__19enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESE_E4typeEOSF_NS0_6detail12priority_tagILm2EEE
Line
Count
Source
3040
50.6k
    {
3041
50.6k
        return decay_copy(SCN_FWD(t).size());
3042
50.6k
    }
Unexecuted instantiation: _ZN3scn2v46ranges6detail5size_2fn4implINS2_9subrange_8subrangeIPKcS9_EEmEENSt3__19enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESD_E4typeEOSE_NS0_6detail12priority_tagILm2EEE
_ZN3scn2v46ranges6detail5size_2fn4implIRNS2_9subrange_8subrangeIPKwS9_EEmEENSt3__19enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESE_E4typeEOSF_NS0_6detail12priority_tagILm2EEE
Line
Count
Source
3040
101k
    {
3041
101k
        return decay_copy(SCN_FWD(t).size());
3042
101k
    }
Unexecuted instantiation: _ZN3scn2v46ranges6detail5size_2fn4implINS2_9subrange_8subrangeIPKwS9_EEmEENSt3__19enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESD_E4typeEOSE_NS0_6detail12priority_tagILm2EEE
Unexecuted instantiation: _ZN3scn2v46ranges6detail5size_2fn4implIRKNS2_9subrange_8subrangeIPKcS9_EEmEENSt3__19enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESF_E4typeEOSG_NS0_6detail12priority_tagILm2EEE
Unexecuted instantiation: _ZN3scn2v46ranges6detail5size_2fn4implIRKNS2_9subrange_8subrangeIPKwS9_EEmEENSt3__19enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESF_E4typeEOSG_NS0_6detail12priority_tagILm2EEE
3043
3044
    template <typename T,
3045
              typename I = decltype(decay_copy(size(std::declval<T>())))>
3046
    static constexpr auto impl(T&& t, priority_tag<1>) noexcept(
3047
        noexcept(decay_copy(size(SCN_FWD(t)))))
3048
        -> std::enable_if_t<std::is_integral_v<I> &&
3049
                                !disable_sized_range<remove_cvref_t<T>>,
3050
                            I>
3051
    {
3052
        return decay_copy(size(SCN_FWD(t)));
3053
    }
3054
3055
    template <typename T,
3056
              typename I = decltype(scn::ranges::begin(SCN_DECLVAL(T))),
3057
              typename S = decltype(scn::ranges::end(SCN_DECLVAL(T))),
3058
              typename D = decltype(static_cast<std::size_t>(SCN_DECLVAL(S) -
3059
                                                             SCN_DECLVAL(I)))>
3060
    static constexpr auto impl(T&& t, priority_tag<0>) noexcept(noexcept(
3061
        static_cast<size_t>(scn::ranges::end(t) - scn::ranges::begin(t))))
3062
        -> std::enable_if_t<!std::is_array_v<remove_cvref_t<T>> &&
3063
                                sized_sentinel_for<S, I> && forward_iterator<I>,
3064
                            D>
3065
    {
3066
        return static_cast<size_t>(scn::ranges::end(t) - scn::ranges::begin(t));
3067
    }
3068
3069
public:
3070
    template <typename T>
3071
    constexpr auto operator()(T&& t) const
3072
        noexcept(noexcept(fn::impl(std::forward<T>(t), priority_tag<3>{})))
3073
            -> decltype(fn::impl(std::forward<T>(t), priority_tag<3>{}))
3074
152k
    {
3075
152k
        return fn::impl(std::forward<T>(t), priority_tag<3>{});
3076
152k
    }
_ZNK3scn2v46ranges6detail5size_2fnclIRNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSE_
Line
Count
Source
3074
110
    {
3075
110
        return fn::impl(std::forward<T>(t), priority_tag<3>{});
3076
110
    }
Unexecuted instantiation: _ZNK3scn2v46ranges6detail5size_2fnclIRNSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSC_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail5size_2fnclIRNSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSC_
_ZNK3scn2v46ranges6detail5size_2fnclIRKNSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSD_
Line
Count
Source
3074
76
    {
3075
76
        return fn::impl(std::forward<T>(t), priority_tag<3>{});
3076
76
    }
_ZNK3scn2v46ranges6detail5size_2fnclIRKNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSF_
Line
Count
Source
3074
12
    {
3075
12
        return fn::impl(std::forward<T>(t), priority_tag<3>{});
3076
12
    }
Unexecuted instantiation: _ZNK3scn2v46ranges6detail5size_2fnclIRKNSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSD_
_ZNK3scn2v46ranges6detail5size_2fnclIRNS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSC_
Line
Count
Source
3074
50.6k
    {
3075
50.6k
        return fn::impl(std::forward<T>(t), priority_tag<3>{});
3076
50.6k
    }
Unexecuted instantiation: _ZNK3scn2v46ranges6detail5size_2fnclINS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSB_
_ZNK3scn2v46ranges6detail5size_2fnclIRNS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSC_
Line
Count
Source
3074
101k
    {
3075
101k
        return fn::impl(std::forward<T>(t), priority_tag<3>{});
3076
101k
    }
Unexecuted instantiation: _ZNK3scn2v46ranges6detail5size_2fnclINS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSB_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail5size_2fnclIRKNS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSD_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail5size_2fnclIRKNS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSD_
3077
};
3078
3079
}  // namespace detail::size_
3080
3081
inline constexpr auto size = detail::size_::fn{};
3082
3083
namespace detail {
3084
namespace ssize_ {
3085
struct fn {
3086
private:
3087
    template <typename T>
3088
    using ssize_return_t = std::conditional_t<sizeof(range_difference_t<T>) <
3089
                                                  sizeof(std::ptrdiff_t),
3090
                                              std::ptrdiff_t,
3091
                                              range_difference_t<T>>;
3092
3093
    template <typename T>
3094
    static constexpr auto impl(T&& t) noexcept(
3095
        noexcept(ranges::size(std::forward<T>(t))))
3096
        -> decltype(ranges::size(std::forward<T>(t)), ssize_return_t<T>())
3097
198
    {
3098
198
        return static_cast<ssize_return_t<T>>(ranges::size(std::forward<T>(t)));
3099
198
    }
_ZN3scn2v46ranges6detail6ssize_2fn4implIRNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEEEDTcmclL_ZNS1_4sizeEEclsr3stdE7forwardIT_Efp_EEcvNS6_11conditionalIXltstNS6_9enable_ifIX5rangeISE_EENS1_20incrementable_traitsIDTclL_ZNS1_5beginEEclsr3stdE7declvalIRSE_EEEEE15difference_typeEE4typeELm8EElSN_E4typeE_EEOSE_
Line
Count
Source
3097
110
    {
3098
110
        return static_cast<ssize_return_t<T>>(ranges::size(std::forward<T>(t)));
3099
110
    }
_ZN3scn2v46ranges6detail6ssize_2fn4implIRKNSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEEEDTcmclL_ZNS1_4sizeEEclsr3stdE7forwardIT_Efp_EEcvNS6_11conditionalIXltstNS6_9enable_ifIX5rangeISD_EENS1_20incrementable_traitsIDTclL_ZNS1_5beginEEclsr3stdE7declvalIRSD_EEEEE15difference_typeEE4typeELm8EElSM_E4typeE_EEOSD_
Line
Count
Source
3097
76
    {
3098
76
        return static_cast<ssize_return_t<T>>(ranges::size(std::forward<T>(t)));
3099
76
    }
_ZN3scn2v46ranges6detail6ssize_2fn4implIRKNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEEEDTcmclL_ZNS1_4sizeEEclsr3stdE7forwardIT_Efp_EEcvNS6_11conditionalIXltstNS6_9enable_ifIX5rangeISF_EENS1_20incrementable_traitsIDTclL_ZNS1_5beginEEclsr3stdE7declvalIRSF_EEEEE15difference_typeEE4typeELm8EElSO_E4typeE_EEOSF_
Line
Count
Source
3097
12
    {
3098
12
        return static_cast<ssize_return_t<T>>(ranges::size(std::forward<T>(t)));
3099
12
    }
Unexecuted instantiation: _ZN3scn2v46ranges6detail6ssize_2fn4implIRKNSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEEEDTcmclL_ZNS1_4sizeEEclsr3stdE7forwardIT_Efp_EEcvNS6_11conditionalIXltstNS6_9enable_ifIX5rangeISD_EENS1_20incrementable_traitsIDTclL_ZNS1_5beginEEclsr3stdE7declvalIRSD_EEEEE15difference_typeEE4typeELm8EElSM_E4typeE_EEOSD_
3100
3101
public:
3102
    template <typename T>
3103
    constexpr auto operator()(T&& t) const
3104
        noexcept(noexcept(fn::impl(std::forward<T>(t))))
3105
            -> decltype(fn::impl(std::forward<T>(t)))
3106
198
    {
3107
198
        return fn::impl(std::forward<T>(t));
3108
198
    }
_ZNK3scn2v46ranges6detail6ssize_2fnclIRNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EEEOSE_
Line
Count
Source
3106
110
    {
3107
110
        return fn::impl(std::forward<T>(t));
3108
110
    }
_ZNK3scn2v46ranges6detail6ssize_2fnclIRKNSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EEEOSD_
Line
Count
Source
3106
76
    {
3107
76
        return fn::impl(std::forward<T>(t));
3108
76
    }
_ZNK3scn2v46ranges6detail6ssize_2fnclIRKNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EEEOSF_
Line
Count
Source
3106
12
    {
3107
12
        return fn::impl(std::forward<T>(t));
3108
12
    }
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6ssize_2fnclIRKNSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EEEOSD_
3109
};
3110
}  // namespace ssize_
3111
}  // namespace detail
3112
3113
inline constexpr auto ssize = detail::ssize_::fn{};
3114
3115
namespace detail::empty_ {
3116
struct fn {
3117
private:
3118
    template <typename T>
3119
    static constexpr auto impl(T&& t, priority_tag<2>) noexcept(
3120
        noexcept(static_cast<bool>(SCN_FWD(t).empty())))
3121
        -> decltype(static_cast<bool>(SCN_FWD(t).empty()))
3122
    {
3123
        return static_cast<bool>(SCN_FWD(t).empty());
3124
    }
3125
3126
    template <typename T>
3127
    static constexpr auto impl(T&& t, priority_tag<1>) noexcept(
3128
        noexcept(ranges::size(SCN_FWD(t)) == 0))
3129
        -> decltype(ranges::size(SCN_FWD(t)) == 0)
3130
    {
3131
        return ranges::size(SCN_FWD(t)) == 0;
3132
    }
3133
3134
    template <typename T,
3135
              typename I = decltype(ranges::begin(std::declval<T>()))>
3136
    static constexpr auto impl(T&& t, priority_tag<0>) noexcept(
3137
        noexcept(ranges::begin(t) == ranges::end(t)))
3138
        -> std::enable_if_t<forward_iterator<I>,
3139
                            decltype(ranges::begin(t) == ranges::end(t))>
3140
    {
3141
        return ranges::begin(t) == ranges::end(t);
3142
    }
3143
3144
public:
3145
    template <typename T>
3146
    constexpr auto operator()(T&& t) const
3147
        noexcept(noexcept(fn::impl(SCN_FWD(t), priority_tag<2>{})))
3148
            -> decltype(fn::impl(SCN_FWD(t), priority_tag<2>{}))
3149
    {
3150
        return fn::impl(SCN_FWD(t), priority_tag<2>{});
3151
    }
3152
};
3153
}  // namespace detail::empty_
3154
3155
inline constexpr auto empty = detail::empty_::fn{};
3156
3157
/**
3158
 * \see `std::ranges::borrowed_range`
3159
 */
3160
template <typename T>
3161
inline constexpr bool borrowed_range =
3162
    range<T> && (std::is_lvalue_reference_v<T> ||
3163
                 enable_borrowed_range<detail::remove_cvref_t<T>>);
3164
3165
namespace detail {
3166
struct sized_range_concept {
3167
    template <typename T>
3168
    auto requires_(T& t) -> decltype(ranges::size(t));
3169
};
3170
}  // namespace detail
3171
3172
template <typename T>
3173
inline constexpr bool sized_range =
3174
    range<T> && !disable_sized_range<detail::remove_cvref_t<T>> &&
3175
    detail::requires_<detail::sized_range_concept, T>;
3176
3177
namespace detail {
3178
struct output_range_concept {
3179
    template <typename, typename>
3180
    static auto test(long) -> std::false_type;
3181
3182
    template <typename R, typename T>
3183
    static auto test(int)
3184
        -> std::enable_if_t<range<R> && output_iterator<iterator_t<R>, T>,
3185
                            std::true_type>;
3186
};
3187
}  // namespace detail
3188
3189
template <typename R, typename T>
3190
inline constexpr bool output_range =
3191
    decltype(detail::output_range_concept::test<R, T>(0))::value;
3192
3193
namespace detail {
3194
struct input_range_concept {
3195
    template <typename>
3196
    static auto test(long) -> std::false_type;
3197
3198
    template <typename T>
3199
    static auto test(int)
3200
        -> std::enable_if_t<range<T> && input_iterator<iterator_t<T>>,
3201
                            std::true_type>;
3202
};
3203
}  // namespace detail
3204
3205
template <typename T>
3206
inline constexpr bool input_range =
3207
    decltype(detail::input_range_concept::test<T>(0))::value;
3208
3209
namespace detail {
3210
struct forward_range_concept {
3211
    template <typename>
3212
    static auto test(long) -> std::false_type;
3213
3214
    template <typename T>
3215
    static auto test(int)
3216
        -> std::enable_if_t<input_range<T> && forward_iterator<iterator_t<T>>,
3217
                            std::true_type>;
3218
};
3219
}  // namespace detail
3220
3221
template <typename T>
3222
inline constexpr bool forward_range =
3223
    decltype(detail::forward_range_concept::test<T>(0))::value;
3224
3225
namespace detail {
3226
struct bidirectional_range_concept {
3227
    template <typename>
3228
    static auto test(long) -> std::false_type;
3229
3230
    template <typename T>
3231
    static auto test(int)
3232
        -> std::enable_if_t<forward_range<T> &&
3233
                                bidirectional_iterator<iterator_t<T>>,
3234
                            std::true_type>;
3235
};
3236
}  // namespace detail
3237
3238
template <typename T>
3239
inline constexpr bool bidirectional_range =
3240
    decltype(detail::bidirectional_range_concept::test<T>(0))::value;
3241
3242
namespace detail {
3243
struct random_access_range_concept {
3244
    template <typename>
3245
    static auto test(long) -> std::false_type;
3246
3247
    template <typename T>
3248
    static auto test(int)
3249
        -> std::enable_if_t<bidirectional_range<T> &&
3250
                                random_access_iterator<iterator_t<T>>,
3251
                            std::true_type>;
3252
};
3253
}  // namespace detail
3254
3255
template <typename T>
3256
inline constexpr bool random_access_range =
3257
    decltype(detail::random_access_range_concept::test<T>(0))::value;
3258
3259
namespace detail {
3260
// FIXME: Not to spec
3261
// We only require random_access_iterator, not contiguous_iterator
3262
// This is so that vector::iterator, string::iterator etc can model
3263
// contiguous_range.
3264
// If we do range-v3-style deep integration with iterator_traits then
3265
// this could be fixed
3266
struct contiguous_range_concept {
3267
    template <typename>
3268
    static auto test(long) -> std::false_type;
3269
3270
    template <typename T>
3271
    static auto test(int) -> std::enable_if_t<
3272
        random_access_range<T> && /* contiguous_iterator<iterator_t<T>>
3273
                                   * &&
3274
                                   */
3275
            detail::requires_<contiguous_range_concept, T>,
3276
        std::true_type>;
3277
3278
    template <typename T>
3279
    auto requires_(T& t)
3280
        -> decltype(requires_expr<std::is_same_v<
3281
                        decltype(ranges::data(t)),
3282
                        std::add_pointer_t<range_reference_t<T>>>>{});
3283
};
3284
}  // namespace detail
3285
3286
template <typename R>
3287
inline constexpr bool contiguous_range =
3288
    decltype(detail::contiguous_range_concept::test<R>(0))::value;
3289
3290
namespace detail {
3291
struct common_range_concept {
3292
    template <typename>
3293
    static auto test(long) -> std::false_type;
3294
3295
    template <typename T>
3296
    static auto test(int)
3297
        -> std::enable_if_t<range<T> &&
3298
                                std::is_same_v<iterator_t<T>, sentinel_t<T>>,
3299
                            std::true_type>;
3300
};
3301
}  // namespace detail
3302
3303
template <typename T>
3304
inline constexpr bool common_range =
3305
    decltype(detail::common_range_concept::test<T>(0))::value;
3306
3307
/**
3308
 * \see `std::ranges::dangling`
3309
 */
3310
struct dangling {
3311
    constexpr dangling() noexcept = default;
3312
3313
    template <typename... Args>
3314
    constexpr dangling(Args&&...) noexcept
3315
    {
3316
    }
3317
};
3318
3319
/**
3320
 * \see `std::ranges::borrowed_iterator_t`
3321
 */
3322
template <typename R>
3323
using borrowed_iterator_t =
3324
    std::conditional_t<borrowed_range<R>, iterator_t<R>, dangling>;
3325
3326
template <typename D>
3327
class view_interface {
3328
    static_assert(std::is_class<D>::value, "");
3329
    static_assert(std::is_same_v<D, std::remove_cv_t<D>>, "");
3330
3331
private:
3332
    constexpr D& derived() noexcept
3333
348k
    {
3334
348k
        return static_cast<D&>(*this);
3335
348k
    }
scn::v4::ranges::view_interface<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::derived()
Line
Count
Source
3333
135k
    {
3334
135k
        return static_cast<D&>(*this);
3335
135k
    }
scn::v4::ranges::view_interface<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::derived()
Line
Count
Source
3333
212k
    {
3334
212k
        return static_cast<D&>(*this);
3335
212k
    }
3336
3337
    constexpr const D& derived() const noexcept
3338
0
    {
3339
0
        return static_cast<const D&>(*this);
3340
0
    }
Unexecuted instantiation: scn::v4::ranges::view_interface<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::derived() const
Unexecuted instantiation: scn::v4::ranges::view_interface<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::derived() const
3341
3342
public:
3343
    template <typename R = D>
3344
    [[nodiscard]] constexpr auto empty()
3345
        -> std::enable_if_t<forward_range<R>, bool>
3346
    {
3347
        return ranges::begin(derived()) == ranges::end(derived());
3348
    }
3349
3350
    template <typename R = D>
3351
    [[nodiscard]] constexpr auto empty() const
3352
        -> std::enable_if_t<forward_range<const R>, bool>
3353
    {
3354
        return ranges::begin(derived()) == ranges::end(derived());
3355
    }
3356
3357
    template <typename R = D,
3358
              typename = decltype(ranges::empty(std::declval<R&>()))>
3359
    constexpr explicit operator bool()
3360
    {
3361
        return !ranges::empty(derived());
3362
    }
3363
3364
    template <typename R = D,
3365
              typename = decltype(ranges::empty(std::declval<const R&>()))>
3366
    constexpr explicit operator bool() const
3367
    {
3368
        return !ranges::empty(derived());
3369
    }
3370
3371
    template <typename R = D,
3372
              typename = std::enable_if_t<contiguous_iterator<iterator_t<R>>>>
3373
    constexpr auto data()
3374
348k
    {
3375
348k
        return detail::to_address(ranges::begin(derived()));
3376
348k
    }
auto scn::v4::ranges::view_interface<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::data<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void>()
Line
Count
Source
3374
135k
    {
3375
135k
        return detail::to_address(ranges::begin(derived()));
3376
135k
    }
auto scn::v4::ranges::view_interface<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::data<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void>()
Line
Count
Source
3374
212k
    {
3375
212k
        return detail::to_address(ranges::begin(derived()));
3376
212k
    }
3377
3378
    template <typename R = D,
3379
              typename = std::enable_if_t<
3380
                  range<const R> && contiguous_iterator<iterator_t<const R>>>>
3381
    constexpr auto data() const
3382
0
    {
3383
0
        return detail::to_address(ranges::begin(derived()));
3384
0
    }
Unexecuted instantiation: auto scn::v4::ranges::view_interface<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::data<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void>() const
Unexecuted instantiation: auto scn::v4::ranges::view_interface<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::data<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void>() const
3385
3386
    template <typename R = D,
3387
              typename = std::enable_if_t<
3388
                  forward_range<R> &&
3389
                  sized_sentinel_for<sentinel_t<R>, iterator_t<R>>>>
3390
    constexpr auto size()
3391
    {
3392
        return ranges::end(derived()) - ranges::begin(derived());
3393
    }
3394
3395
    template <typename R = D,
3396
              typename = std::enable_if_t<
3397
                  forward_range<const R> &&
3398
                  sized_sentinel_for<sentinel_t<const R>, iterator_t<const R>>>>
3399
    constexpr auto size() const
3400
    {
3401
        return ranges::end(derived()) - ranges::begin(derived());
3402
    }
3403
3404
#if 0
3405
    template <typename R = D, typename = std::enable_if_t<forward_range<R>>>
3406
    constexpr decltype(auto) front()
3407
    {
3408
        return *ranges::begin(derived());
3409
    }
3410
3411
    template <typename R = D,
3412
              typename = std::enable_if_t<forward_range<const R>>>
3413
    constexpr decltype(auto) front() const
3414
    {
3415
        return *ranges::begin(derived());
3416
    }
3417
3418
    template <
3419
        typename R = D,
3420
        typename = std::enable_if_t<bidirectional_range<R> && common_range<R>>>
3421
    constexpr decltype(auto) back()
3422
    {
3423
        return *ranges::prev(ranges::end(derived()));
3424
    }
3425
3426
    template <typename R = D,
3427
              typename = std::enable_if_t<bidirectional_range<const R> &&
3428
                                          common_range<const R>>>
3429
    constexpr decltype(auto) back() const
3430
    {
3431
        return *ranges::prev(ranges::end(derived()));
3432
    }
3433
3434
    template <typename R = D,
3435
              typename = std::enable_if_t<random_access_range<R>>>
3436
    constexpr decltype(auto) operator[](iter_difference_t<iterator_t<R>> n)
3437
    {
3438
        return ranges::begin(derived())[n];
3439
    }
3440
#endif
3441
3442
    template <typename R = D,
3443
              typename = std::enable_if_t<random_access_range<const R>>>
3444
    constexpr decltype(auto) operator[](
3445
        iter_difference_t<iterator_t<const R>> n) const
3446
    {
3447
        return ranges::begin(derived())[n];
3448
    }
3449
};
3450
3451
namespace detail::subrange_ {
3452
3453
template <typename I, typename S = I>
3454
class subrange : public view_interface<subrange<I, S>> {
3455
    static_assert(input_or_output_iterator<I>);
3456
    static_assert(sentinel_for<S, I>);
3457
3458
public:
3459
151k
    subrange() = default;
scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>::subrange()
Line
Count
Source
3459
50.6k
    subrange() = default;
scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>::subrange()
Line
Count
Source
3459
101k
    subrange() = default;
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>::subrange()
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >::subrange()
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>::subrange()
3460
3461
    template <typename I_,
3462
              std::enable_if_t<std::is_convertible_v<I_, I>>* = nullptr>
3463
    constexpr subrange(I_ i, S s)
3464
1.14M
        : m_iterator(SCN_MOVE(i)), m_sentinel(SCN_MOVE(s))
3465
1.14M
    {
3466
1.14M
    }
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEC2IS8_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_S8_EEvE4typeELPv0EEESE_S9_
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEC2IS8_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_S8_EEvE4typeELPv0EEESE_S9_
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEENS5_15take_width_viewINS4_ISB_SC_EEE8sentinelILb1EEEEC2ISD_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SD_EEvE4typeELPv0EEESN_SI_
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS7_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEENS5_15take_width_viewINS4_ISB_SC_EEE8sentinelILb1EEEEENSE_ISG_E8sentinelILb1EEEEC2ISJ_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SJ_EEvE4typeELPv0EEESR_SM_
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEESD_EC2ISD_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SD_EEvE4typeELPv0EEESI_SD_
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorES8_EC2IS8_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_S8_EEvE4typeELPv0EEESD_S8_
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS9_EENS5_15take_width_viewINSt3__117basic_string_viewIcNSC_11char_traitsIcEEEEE8sentinelILb1EEEEC2ISA_TnPNSC_9enable_ifIXsr3stdE16is_convertible_vIT_SA_EEvE4typeELPv0EEESN_SJ_
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS7_IPKcS9_EENS5_15take_width_viewINSt3__117basic_string_viewIcNSC_11char_traitsIcEEEEE8sentinelILb1EEEEENSB_ISH_E8sentinelILb1EEEEC2ISK_TnPNSC_9enable_ifIXsr3stdE16is_convertible_vIT_SK_EEvE4typeELPv0EEESR_SN_
_ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS9_EESA_EC2ISA_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SA_EEvE4typeELPv0EEESF_SA_
Line
Count
Source
3464
2.14k
        : m_iterator(SCN_MOVE(i)), m_sentinel(SCN_MOVE(s))
3465
2.14k
    {
3466
2.14k
    }
_ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS9_EENS5_15take_width_viewINS4_IS9_S9_EEE8sentinelILb1EEEEC2ISA_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SA_EEvE4typeELPv0EEESK_SF_
Line
Count
Source
3464
40.9k
        : m_iterator(SCN_MOVE(i)), m_sentinel(SCN_MOVE(s))
3465
40.9k
    {
3466
40.9k
    }
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEENS5_15take_width_viewINS4_ISB_SC_EEE8sentinelILb1EEEEC2ISD_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SD_EEvE4typeELPv0EEESN_SI_
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS7_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEENS5_15take_width_viewINS4_ISB_SC_EEE8sentinelILb1EEEEENSE_ISG_E8sentinelILb1EEEEC2ISJ_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SJ_EEvE4typeELPv0EEESR_SM_
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEESD_EC2ISD_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SD_EEvE4typeELPv0EEESI_SD_
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorES8_EC2IS8_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_S8_EEvE4typeELPv0EEESD_S8_
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS9_EENS5_15take_width_viewINSt3__117basic_string_viewIwNSC_11char_traitsIwEEEEE8sentinelILb1EEEEC2ISA_TnPNSC_9enable_ifIXsr3stdE16is_convertible_vIT_SA_EEvE4typeELPv0EEESN_SJ_
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS7_IPKwS9_EENS5_15take_width_viewINSt3__117basic_string_viewIwNSC_11char_traitsIwEEEEE8sentinelILb1EEEEENSB_ISH_E8sentinelILb1EEEEC2ISK_TnPNSC_9enable_ifIXsr3stdE16is_convertible_vIT_SK_EEvE4typeELPv0EEESR_SN_
_ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS9_EESA_EC2ISA_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SA_EEvE4typeELPv0EEESF_SA_
Line
Count
Source
3464
710
        : m_iterator(SCN_MOVE(i)), m_sentinel(SCN_MOVE(s))
3465
710
    {
3466
710
    }
_ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS9_EENS5_15take_width_viewINS4_IS9_S9_EEE8sentinelILb1EEEEC2ISA_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SA_EEvE4typeELPv0EEESK_SF_
Line
Count
Source
3464
14.0k
        : m_iterator(SCN_MOVE(i)), m_sentinel(SCN_MOVE(s))
3465
14.0k
    {
3466
14.0k
    }
_ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS7_IPKcS9_EENS5_15take_width_viewINS4_IS9_S9_EEE8sentinelILb1EEEEENSB_ISD_E8sentinelILb1EEEEC2ISG_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SG_EEvE4typeELPv0EEESO_SJ_
Line
Count
Source
3464
6.57k
        : m_iterator(SCN_MOVE(i)), m_sentinel(SCN_MOVE(s))
3465
6.57k
    {
3466
6.57k
    }
_ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS7_IPKwS9_EENS5_15take_width_viewINS4_IS9_S9_EEE8sentinelILb1EEEEENSB_ISD_E8sentinelILb1EEEEC2ISG_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SG_EEvE4typeELPv0EEESO_SJ_
Line
Count
Source
3464
2.40k
        : m_iterator(SCN_MOVE(i)), m_sentinel(SCN_MOVE(s))
3465
2.40k
    {
3466
2.40k
    }
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINSt3__111__wrap_iterIPcEES8_EC2IS8_TnPNS5_9enable_ifIXsr3stdE16is_convertible_vIT_S8_EEvE4typeELPv0EEESC_S8_
_ZN3scn2v46ranges6detail9subrange_8subrangeIPKcS6_EC2IS6_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_S6_EEvE4typeELPv0EEESB_S6_
Line
Count
Source
3464
563k
        : m_iterator(SCN_MOVE(i)), m_sentinel(SCN_MOVE(s))
3465
563k
    {
3466
563k
    }
_ZN3scn2v46ranges6detail9subrange_8subrangeIPKwS6_EC2IS6_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_S6_EEvE4typeELPv0EEESB_S6_
Line
Count
Source
3464
514k
        : m_iterator(SCN_MOVE(i)), m_sentinel(SCN_MOVE(s))
3465
514k
    {
3466
514k
    }
3467
3468
    template <
3469
        typename R,
3470
        std::enable_if_t<is_not_self<R, subrange> && borrowed_range<R> &&
3471
                         std::is_convertible_v<iterator_t<R>, I> &&
3472
                         std::is_convertible_v<sentinel_t<R>, S>>* = nullptr>
3473
    constexpr subrange(R&& r)
3474
        : m_iterator(scn::ranges::begin(r)), m_sentinel(scn::ranges::end(r))
3475
    {
3476
    }
3477
3478
    constexpr I begin() const
3479
2.67M
    {
3480
2.67M
        return m_iterator;
3481
2.67M
    }
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>::begin() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>::begin() const
scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>::begin() const
Line
Count
Source
3479
1.38M
    {
3480
1.38M
        return m_iterator;
3481
1.38M
    }
scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>::begin() const
Line
Count
Source
3479
1.13M
    {
3480
1.13M
        return m_iterator;
3481
1.13M
    }
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::begin() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >::begin() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::begin() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>::begin() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::begin() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> >::begin() const
scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::begin() const
Line
Count
Source
3479
2.14k
    {
3480
2.14k
        return m_iterator;
3481
2.14k
    }
scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::begin() const
Line
Count
Source
3479
101k
    {
3480
101k
        return m_iterator;
3481
101k
    }
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::begin() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >::begin() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::begin() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>::begin() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::begin() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> >::begin() const
scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::begin() const
Line
Count
Source
3479
710
    {
3480
710
        return m_iterator;
3481
710
    }
scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::begin() const
Line
Count
Source
3479
40.8k
    {
3480
40.8k
        return m_iterator;
3481
40.8k
    }
scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> >::begin() const
Line
Count
Source
3479
13.4k
    {
3480
13.4k
        return m_iterator;
3481
13.4k
    }
scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> >::begin() const
Line
Count
Source
3479
4.95k
    {
3480
4.95k
        return m_iterator;
3481
4.95k
    }
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >::begin() const
3482
    constexpr S end() const
3483
417M
    {
3484
417M
        return m_sentinel;
3485
417M
    }
scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>::end() const
Line
Count
Source
3483
1.36M
    {
3484
1.36M
        return m_sentinel;
3485
1.36M
    }
scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>::end() const
Line
Count
Source
3483
415M
    {
3484
415M
        return m_sentinel;
3485
415M
    }
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::end() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >::end() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::end() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>::end() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>::end() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::end() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> >::end() const
scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::end() const
Line
Count
Source
3483
2.14k
    {
3484
2.14k
        return m_sentinel;
3485
2.14k
    }
scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::end() const
Line
Count
Source
3483
86.2k
    {
3484
86.2k
        return m_sentinel;
3485
86.2k
    }
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::end() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >::end() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::end() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>::end() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>::end() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::end() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> >::end() const
scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::end() const
Line
Count
Source
3483
710
    {
3484
710
        return m_sentinel;
3485
710
    }
scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::end() const
Line
Count
Source
3483
30.2k
    {
3484
30.2k
        return m_sentinel;
3485
30.2k
    }
scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> >::end() const
Line
Count
Source
3483
9.09k
    {
3484
9.09k
        return m_sentinel;
3485
9.09k
    }
scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> >::end() const
Line
Count
Source
3483
2.40k
    {
3484
2.40k
        return m_sentinel;
3485
2.40k
    }
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >::end() const
3486
3487
    SCN_NODISCARD constexpr bool empty() const
3488
    {
3489
        return m_iterator == m_sentinel;
3490
    }
3491
3492
    template <typename I_ = I,
3493
              std::enable_if_t<sized_sentinel_for<S, I_>>* = nullptr>
3494
    constexpr std::size_t size() const
3495
234k
    {
3496
234k
        return static_cast<size_t>(m_sentinel - m_iterator);
3497
234k
    }
_ZNK3scn2v46ranges6detail9subrange_8subrangeIPKcS6_E4sizeIS6_TnPNSt3__19enable_ifIX18sized_sentinel_forIS6_T_EEvE4typeELPv0EEEmv
Line
Count
Source
3495
117k
    {
3496
117k
        return static_cast<size_t>(m_sentinel - m_iterator);
3497
117k
    }
_ZNK3scn2v46ranges6detail9subrange_8subrangeIPKwS6_E4sizeIS6_TnPNSt3__19enable_ifIX18sized_sentinel_forIS6_T_EEvE4typeELPv0EEEmv
Line
Count
Source
3495
117k
    {
3496
117k
        return static_cast<size_t>(m_sentinel - m_iterator);
3497
117k
    }
3498
3499
private:
3500
    SCN_NO_UNIQUE_ADDRESS I m_iterator{};
3501
    SCN_NO_UNIQUE_ADDRESS S m_sentinel{};
3502
};
3503
3504
template <typename I,
3505
          typename S,
3506
          std::enable_if_t<input_or_output_iterator<I> && sentinel_for<S, I>>* =
3507
              nullptr>
3508
subrange(I, S) -> subrange<I, S>;
3509
3510
template <typename R, std::enable_if_t<borrowed_range<R>>* = nullptr>
3511
subrange(R&&) -> subrange<iterator_t<R>, sentinel_t<R>>;
3512
3513
}  // namespace detail::subrange_
3514
3515
/**
3516
 * \see `std::ranges::subrange`
3517
 */
3518
using detail::subrange_::subrange;
3519
3520
template <typename I, typename S>
3521
inline constexpr bool enable_borrowed_range<subrange<I, S>> = true;
3522
3523
struct default_sentinel_t {};
3524
inline constexpr default_sentinel_t default_sentinel{};
3525
3526
}  // namespace ranges
3527
3528
namespace detail {
3529
3530
namespace char_t_fn {
3531
template <typename T, typename = typename T::value_type>
3532
constexpr auto impl_nonarray(priority_tag<2>)
3533
0
{
3534
0
    return tag_type<typename T::value_type>{};
3535
0
}
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<std::__1::basic_string_view<char, std::__1::char_traits<char> >, char>(scn::v4::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, wchar_t>(scn::v4::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, char>(scn::v4::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >, char>(scn::v4::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >, char>(scn::v4::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >, char>(scn::v4::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >, char>(scn::v4::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, wchar_t>(scn::v4::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >, wchar_t>(scn::v4::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, wchar_t>(scn::v4::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >, wchar_t>(scn::v4::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >, wchar_t>(scn::v4::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >, char>(scn::v4::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >, wchar_t>(scn::v4::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, char>(scn::v4::detail::priority_tag<2ul>)
3536
template <typename T, typename = decltype(SCN_DECLVAL(T&).begin())>
3537
constexpr auto impl_nonarray(priority_tag<1>)
3538
0
{
3539
0
    return tag_type<remove_cvref_t<decltype(*(SCN_DECLVAL(T&).begin()))>>{};
3540
0
}
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char const*>(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t const*>(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >(scn::v4::detail::priority_tag<1ul>)
3541
template <typename T>
3542
constexpr auto impl_nonarray(priority_tag<0>)
3543
{
3544
    return tag_type<remove_cvref_t<decltype(*begin(SCN_DECLVAL(T&)))>>{};
3545
}
3546
3547
template <typename T,
3548
          typename = std::enable_if_t<ranges::range<remove_cvref_t<T>>>>
3549
constexpr auto impl()
3550
0
{
3551
0
    using T_nocvref = remove_cvref_t<T>;
3552
0
    if constexpr (std::is_array_v<T_nocvref>) {
3553
0
        return tag_type<std::remove_all_extents_t<T_nocvref>>{};
3554
0
    }
3555
0
    else {
3556
0
        return impl_nonarray<T_nocvref>(priority_tag<2>{});
3557
0
    }
3558
0
}
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<std::__1::basic_string_view<char, std::__1::char_traits<char> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<std::__1::basic_string_view<char, std::__1::char_traits<char> >&, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, void>()
3559
3560
template <typename Range>
3561
using result = decltype(impl<Range>());
3562
}  // namespace char_t_fn
3563
3564
template <typename Range>
3565
using char_t = typename char_t_fn::result<Range>::type;
3566
3567
template <typename Range, typename = void>
3568
inline constexpr bool is_file_or_narrow_range_impl = false;
3569
template <>
3570
inline constexpr bool is_file_or_narrow_range_impl<std::FILE*, void> = true;
3571
template <typename Range>
3572
inline constexpr bool
3573
    is_file_or_narrow_range_impl<Range,
3574
                                 std::enable_if_t<ranges::range<Range>>> =
3575
        std::is_same_v<char_t<Range>, char>;
3576
3577
template <typename Range>
3578
inline constexpr bool is_file_or_narrow_range =
3579
    is_file_or_narrow_range_impl<remove_cvref_t<Range>>;
3580
3581
template <typename Range, typename = void>
3582
inline constexpr bool is_wide_range = false;
3583
template <typename Range>
3584
inline constexpr bool
3585
    is_wide_range<Range,
3586
                  std::enable_if_t<ranges::range<remove_cvref_t<Range>>>> =
3587
        std::is_same_v<char_t<Range>, wchar_t>;
3588
3589
template <typename R, bool Borrowed = ranges::borrowed_range<R>>
3590
struct borrowed_tail_subrange {
3591
    using type = ranges::subrange<ranges::iterator_t<R>, ranges::sentinel_t<R>>;
3592
};
3593
template <typename R>
3594
struct borrowed_tail_subrange<R, false> {
3595
    using type = ranges::dangling;
3596
};
3597
3598
/// Equivalent to
3599
/// `ranges::subrange<ranges::iterator_t<R>,
3600
/// ranges::sentinel_t<R>>` if `R` is a `borrowed_range`, and
3601
/// `ranges::dangling` otherwise.
3602
///
3603
/// Similar to `ranges::borrowed_subrange_t<R>`, expect this preserves
3604
/// the range sentinel.
3605
template <typename R>
3606
using borrowed_tail_subrange_t = typename borrowed_tail_subrange<R>::type;
3607
3608
}  // namespace detail
3609
3610
namespace ranges {
3611
template <typename CharT, typename Traits>
3612
inline constexpr bool
3613
    enable_borrowed_range<std::basic_string_view<CharT, Traits>> = true;
3614
}
3615
3616
/////////////////////////////////////////////////////////////////
3617
// Small generic algorithms
3618
/////////////////////////////////////////////////////////////////
3619
3620
namespace detail {
3621
3622
/**
3623
 * Implementation of `std::min_element` without including `<algorithm>`
3624
 */
3625
template <typename It>
3626
constexpr It min_element(It first, It last)
3627
{
3628
    if (first == last) {
3629
        return last;
3630
    }
3631
3632
    It smallest = first;
3633
    ++first;
3634
    for (; first != last; ++first) {
3635
        if (*first < *smallest) {
3636
            smallest = first;
3637
        }
3638
    }
3639
    return smallest;
3640
}
3641
3642
/**
3643
 * Implementation of `std::min` without including `<algorithm>`
3644
 */
3645
template <typename T>
3646
constexpr T min(T a, T b) noexcept
3647
{
3648
    return (b < a) ? b : a;
3649
}
3650
3651
template <bool IsConstexpr, typename T, typename Ptr = const T*>
3652
constexpr Ptr find(Ptr first, Ptr last, T value)
3653
{
3654
    for (; first != last; ++first) {
3655
        if (*first == value) {
3656
            return first;
3657
        }
3658
    }
3659
    return last;
3660
}
3661
3662
template <>
3663
inline const char* find<false, char>(const char* first,
3664
                                     const char* last,
3665
                                     char value)
3666
0
{
3667
0
    auto ptr = static_cast<const char*>(
3668
0
        std::memchr(first, value, static_cast<size_t>(last - first)));
3669
0
    return ptr != nullptr ? ptr : last;
3670
0
}
3671
3672
}  // namespace detail
3673
3674
/////////////////////////////////////////////////////////////////
3675
// Errors
3676
/////////////////////////////////////////////////////////////////
3677
3678
/**
3679
 * Error class.
3680
 * Used as a return value for functions without a success value.
3681
 * Doesn't have a success state, and isn't default constructible:
3682
 * use `expected<void, scan_error>` to achieve that.
3683
 *
3684
 * \ingroup result
3685
 */
3686
class SCN_TRIVIAL_ABI scan_error {
3687
public:
3688
    /// Error code
3689
    enum code {
3690
        /// Input ended unexpectedly.
3691
        end_of_input,
3692
3693
        /// Format string was invalid.
3694
        /// Often a compile-time error, if supported or enabled.
3695
        invalid_format_string,
3696
3697
        /// Scanned value was invalid for given type,
3698
        /// or a value of the given couldn't be scanned.
3699
        invalid_scanned_value,
3700
3701
        /// Literal character specified in format string not found in source.
3702
        invalid_literal,
3703
3704
        /// Too many fill characters scanned,
3705
        /// field precision (max width) exceeded.
3706
        invalid_fill,
3707
3708
        /// Scanned field width was shorter than
3709
        /// what was specified as the minimum field width.
3710
        length_too_short,
3711
3712
        /// Source range is in an invalid state,
3713
        /// failed to continue reading.
3714
        invalid_source_state,
3715
3716
        /// Value out of range, too large (higher than the maximum value)
3717
        /// i.e. >2^32 for int32
3718
        value_positive_overflow,
3719
3720
        /// Value out of range, too small (lower than the minimum value)
3721
        /// i.e. <2^32 for int32
3722
        value_negative_overflow,
3723
3724
        /// Value out of range, magnitude too small, sign +
3725
        /// (between 0 and the smallest subnormal float)
3726
        value_positive_underflow,
3727
3728
        /// Value out of range, magnitude too small, sign -
3729
        /// (between 0 and the smallest subnormal float)
3730
        value_negative_underflow,
3731
3732
        max_error
3733
    };
3734
3735
private:
3736
    using code_t = code;
3737
3738
public:
3739
    /// Constructs an error with `c` and `m`
3740
348k
    constexpr scan_error(code_t c, const char* m) noexcept : m_msg(m), m_code(c)
3741
348k
    {
3742
348k
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_code);
3743
348k
    }
3744
3745
    constexpr explicit operator code_t() const noexcept
3746
0
    {
3747
0
        return m_code;
3748
0
    }
3749
3750
    /// Get error code
3751
    SCN_NODISCARD constexpr code_t code() const noexcept
3752
3.47k
    {
3753
3.47k
        return m_code;
3754
3.47k
    }
3755
    /// Get error message
3756
    SCN_NODISCARD constexpr auto msg() const noexcept -> const char*
3757
0
    {
3758
0
        return m_msg;
3759
0
    }
3760
3761
    /// Convert to a `std::errc`.
3762
    SCN_NODISCARD constexpr std::errc to_errc() const noexcept
3763
0
    {
3764
0
        switch (m_code) {
3765
0
            case end_of_input:
3766
0
            case invalid_format_string:
3767
0
            case invalid_scanned_value:
3768
0
            case invalid_literal:
3769
0
            case invalid_fill:
3770
0
            case length_too_short:
3771
0
                return std::errc::invalid_argument;
3772
0
            case invalid_source_state:
3773
0
                return std::errc::io_error;
3774
0
            case value_positive_overflow:
3775
0
            case value_negative_overflow:
3776
0
            case value_positive_underflow:
3777
0
            case value_negative_underflow:
3778
0
                return std::errc::result_out_of_range;
3779
0
            case max_error:
3780
0
            default:
3781
0
                assert(false);
3782
0
                SCN_UNREACHABLE;
3783
0
        }
3784
0
    }
3785
3786
private:
3787
    const char* m_msg;
3788
    code_t m_code;
3789
};
3790
3791
constexpr bool operator==(scan_error a, scan_error b) noexcept
3792
0
{
3793
0
    return a.code() == b.code();
3794
0
}
3795
constexpr bool operator!=(scan_error a, scan_error b) noexcept
3796
0
{
3797
0
    return !(a == b);
3798
0
}
3799
3800
constexpr bool operator==(scan_error a, enum scan_error::code b) noexcept
3801
0
{
3802
0
    return a.code() == b;
3803
0
}
3804
constexpr bool operator!=(scan_error a, enum scan_error::code b) noexcept
3805
0
{
3806
0
    return !(a == b);
3807
0
}
3808
3809
constexpr bool operator==(enum scan_error::code a, scan_error b) noexcept
3810
0
{
3811
0
    return a == b.code();
3812
0
}
3813
constexpr bool operator!=(enum scan_error::code a, scan_error b) noexcept
3814
0
{
3815
0
    return !(a == b);
3816
0
}
3817
3818
namespace detail {
3819
// Intentionally not constexpr, to give out a compile-time error
3820
SCN_COLD scan_error handle_error(scan_error e);
3821
}  // namespace detail
3822
3823
#if SCN_HAS_EXCEPTIONS
3824
3825
namespace detail {
3826
3827
class scan_format_string_error_base : public std::runtime_error {
3828
public:
3829
    explicit scan_format_string_error_base(const std::string& what_arg)
3830
        : runtime_error(what_arg)
3831
0
    {
3832
0
    }
3833
3834
    explicit scan_format_string_error_base(std::false_type,
3835
                                           const char* what_arg)
3836
        : runtime_error(what_arg)
3837
0
    {
3838
0
    }
3839
3840
    explicit scan_format_string_error_base(std::true_type, const char* what_arg)
3841
        : runtime_error(what_arg), m_internal_literal_msg(what_arg)
3842
0
    {
3843
0
    }
3844
3845
    // Doing everything in a `detail::` base class
3846
    // to make this a `friend` inside that namespace
3847
    // (essentially private)
3848
    friend const char* get_internal_literal_msg(
3849
        const scan_format_string_error_base& m)
3850
0
    {
3851
0
        return m.m_internal_literal_msg;
3852
0
    }
3853
3854
private:
3855
    const char* m_internal_literal_msg{nullptr};
3856
};
3857
3858
}  // namespace detail
3859
3860
/**
3861
 * An exception type used to report format string parsing errors.
3862
 */
3863
class scan_format_string_error : public detail::scan_format_string_error_base {
3864
public:
3865
    // Not `using` constructors to document them explicitly.
3866
3867
    /**
3868
     * Construct from a `std::string`.
3869
     */
3870
    explicit scan_format_string_error(const std::string& what_arg)
3871
        : scan_format_string_error_base(what_arg)
3872
0
    {
3873
0
    }
3874
3875
    /**
3876
     * Construct from a `const char*`.
3877
     */
3878
    explicit scan_format_string_error(const char* what_arg)
3879
        : scan_format_string_error_base(std::false_type{}, what_arg)
3880
0
    {
3881
0
    }
3882
3883
    /**
3884
     * Construct from a string literal.
3885
     */
3886
    template <std::size_t N>
3887
    explicit scan_format_string_error(const char (&what_arg)[N])
3888
        : scan_format_string_error_base(std::true_type{}, what_arg)
3889
    {
3890
    }
3891
};
3892
#endif
3893
3894
/**
3895
 * An `expected<T, scan_error>`.
3896
 *
3897
 * Not a type alias to shorten template names.
3898
 *
3899
 * \ingroup result
3900
 */
3901
template <typename T>
3902
struct scan_expected : public expected<T, scan_error> {
3903
    using expected<T, scan_error>::expected;
3904
3905
    scan_expected(const expected<T, scan_error>& other)
3906
        : expected<T, scan_error>(other)
3907
    {
3908
    }
3909
    scan_expected(expected<T, scan_error>&& other)
3910
4.51k
        : expected<T, scan_error>(SCN_MOVE(other))
3911
4.51k
    {
3912
4.51k
    }
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::scan_expected(scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>&&)
scn::v4::scan_expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::scan_expected(scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error>&&)
Line
Count
Source
3910
1.76k
        : expected<T, scan_error>(SCN_MOVE(other))
3911
1.76k
    {
3912
1.76k
    }
scn::v4::scan_expected<char const*>::scan_expected(scn::v4::expected<char const*, scn::v4::scan_error>&&)
Line
Count
Source
3910
938
        : expected<T, scan_error>(SCN_MOVE(other))
3911
938
    {
3912
938
    }
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>::scan_expected(scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error>&&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::scan_expected(scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>&&)
scn::v4::scan_expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::scan_expected(scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error>&&)
Line
Count
Source
3910
846
        : expected<T, scan_error>(SCN_MOVE(other))
3911
846
    {
3912
846
    }
scn::v4::scan_expected<wchar_t const*>::scan_expected(scn::v4::expected<wchar_t const*, scn::v4::scan_error>&&)
Line
Count
Source
3910
964
        : expected<T, scan_error>(SCN_MOVE(other))
3911
964
    {
3912
964
    }
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>::scan_expected(scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error>&&)
3913
};
3914
3915
namespace detail {
3916
constexpr auto unexpected_scan_error(enum scan_error::code c, const char* m)
3917
193k
{
3918
193k
    return unexpected(scan_error{c, m});
3919
193k
}
3920
3921
template <typename T>
3922
struct is_expected_impl<scan_expected<T>> : std::true_type {};
3923
}  // namespace detail
3924
3925
41.7k
#define SCN_TRY_IMPL_CONCAT(a, b)  a##b
3926
41.7k
#define SCN_TRY_IMPL_CONCAT2(a, b) SCN_TRY_IMPL_CONCAT(a, b)
3927
41.7k
#define SCN_TRY_TMP                SCN_TRY_IMPL_CONCAT2(_scn_try_tmp_, __LINE__)
3928
3929
#define SCN_TRY_DISCARD(x)                                      \
3930
54.0k
    if (auto&& SCN_TRY_TMP = (x); SCN_UNLIKELY(!SCN_TRY_TMP)) { \
3931
16.3k
        return ::scn::unexpected(SCN_TRY_TMP.error());          \
3932
16.3k
    }
3933
3934
#define SCN_TRY_ASSIGN(init, x)                        \
3935
111k
    auto&& SCN_TRY_TMP = (x);                          \
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_ENKUlRKSK_E0_clINS9_INS1_27counted_width_iterator_impl22counted_width_iteratorISD_SE_EENSG_8sentinelILb1EEEEEEEDaSR_
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_ENKUlRKSK_E_clINS9_INS1_27counted_width_iterator_impl22counted_width_iteratorISD_SE_EENSG_8sentinelILb1EEEEEEEDaSR_
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_ENKUlRKSI_E0_clISE_EEDaSP_
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_ENKUlRKSI_E_clISE_EEDaSP_
_ZZN3scn2v44impl12float_readerIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_ENKUlRKSH_E0_clINS9_INS1_27counted_width_iterator_impl22counted_width_iteratorISB_SB_EENSD_8sentinelILb1EEEEEEEDaSO_
Line
Count
Source
3935
8
    auto&& SCN_TRY_TMP = (x);                          \
_ZZN3scn2v44impl12float_readerIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_ENKUlRKSH_E_clINS9_INS1_27counted_width_iterator_impl22counted_width_iteratorISB_SB_EENSD_8sentinelILb1EEEEEEEDaSO_
Line
Count
Source
3935
326
    auto&& SCN_TRY_TMP = (x);                          \
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_ENKUlRKSF_E0_clISB_EEDaSM_
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_ENKUlRKSF_E_clISB_EEDaSM_
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_ENKUlRKSK_E0_clINS9_INS1_27counted_width_iterator_impl22counted_width_iteratorISD_SE_EENSG_8sentinelILb1EEEEEEEDaSR_
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_ENKUlRKSK_E_clINS9_INS1_27counted_width_iterator_impl22counted_width_iteratorISD_SE_EENSG_8sentinelILb1EEEEEEEDaSR_
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_ENKUlRKSI_E0_clISE_EEDaSP_
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_ENKUlRKSI_E_clISE_EEDaSP_
_ZZN3scn2v44impl12float_readerIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_ENKUlRKSH_E0_clINS9_INS1_27counted_width_iterator_impl22counted_width_iteratorISB_SB_EENSD_8sentinelILb1EEEEEEEDaSO_
Line
Count
Source
3935
20
    auto&& SCN_TRY_TMP = (x);                          \
_ZZN3scn2v44impl12float_readerIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_ENKUlRKSH_E_clINS9_INS1_27counted_width_iterator_impl22counted_width_iteratorISB_SB_EENSD_8sentinelILb1EEEEEEEDaSO_
Line
Count
Source
3935
150
    auto&& SCN_TRY_TMP = (x);                          \
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_ENKUlRKSF_E0_clISB_EEDaSM_
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_ENKUlRKSF_E_clISB_EEDaSM_
3936
111k
    if (SCN_UNLIKELY(!SCN_TRY_TMP)) {                  \
3937
25.3k
        return ::scn::unexpected(SCN_TRY_TMP.error()); \
3938
25.3k
    }                                                  \
3939
111k
    init = *SCN_FWD(SCN_TRY_TMP);
3940
98.9k
#define SCN_TRY(name, x) SCN_TRY_ASSIGN(auto name, x)
3941
3942
/////////////////////////////////////////////////////////////////
3943
// string_view utilities
3944
/////////////////////////////////////////////////////////////////
3945
3946
namespace detail {
3947
3948
template <typename T>
3949
struct is_string_view : std::false_type {};
3950
template <typename CharT, typename Traits>
3951
struct is_string_view<std::basic_string_view<CharT, Traits>> : std::true_type {
3952
};
3953
3954
// workarounds for MSVC string_view debug iterators
3955
template <typename CharT>
3956
constexpr std::basic_string_view<CharT> make_string_view_from_iterators(
3957
    typename std::basic_string_view<CharT>::iterator first,
3958
    typename std::basic_string_view<CharT>::iterator last)
3959
982k
{
3960
    if constexpr (std::is_constructible_v<std::basic_string_view<CharT>,
3961
                                          decltype(first), decltype(last)> &&
3962
                  !SCN_MSVC_DEBUG_ITERATORS) {
3963
        return {first, last};
3964
    }
3965
982k
    else {
3966
982k
        return {to_address(first), static_cast<size_t>(std::distance(
3967
982k
                                       to_address(first), to_address(last)))};
3968
982k
    }
3969
982k
}
std::__1::basic_string_view<char, std::__1::char_traits<char> > scn::v4::detail::make_string_view_from_iterators<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >::iterator, std::__1::basic_string_view<char, std::__1::char_traits<char> >::iterator)
Line
Count
Source
3959
927k
{
3960
    if constexpr (std::is_constructible_v<std::basic_string_view<CharT>,
3961
                                          decltype(first), decltype(last)> &&
3962
                  !SCN_MSVC_DEBUG_ITERATORS) {
3963
        return {first, last};
3964
    }
3965
927k
    else {
3966
927k
        return {to_address(first), static_cast<size_t>(std::distance(
3967
927k
                                       to_address(first), to_address(last)))};
3968
927k
    }
3969
927k
}
std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > scn::v4::detail::make_string_view_from_iterators<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >::iterator, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >::iterator)
Line
Count
Source
3959
54.8k
{
3960
    if constexpr (std::is_constructible_v<std::basic_string_view<CharT>,
3961
                                          decltype(first), decltype(last)> &&
3962
                  !SCN_MSVC_DEBUG_ITERATORS) {
3963
        return {first, last};
3964
    }
3965
54.8k
    else {
3966
54.8k
        return {to_address(first), static_cast<size_t>(std::distance(
3967
54.8k
                                       to_address(first), to_address(last)))};
3968
54.8k
    }
3969
54.8k
}
3970
3971
template <typename CharT>
3972
constexpr std::basic_string_view<CharT> make_string_view_from_pointers(
3973
    const CharT* first,
3974
    const CharT* last)
3975
207M
{
3976
    if constexpr (std::is_constructible_v<std::basic_string_view<CharT>,
3977
                                          const CharT*, const CharT*>) {
3978
        return {first, last};
3979
    }
3980
207M
    else {
3981
207M
        return {first, static_cast<size_t>(std::distance(first, last))};
3982
207M
    }
3983
207M
}
std::__1::basic_string_view<char, std::__1::char_traits<char> > scn::v4::detail::make_string_view_from_pointers<char>(char const*, char const*)
Line
Count
Source
3975
40.2k
{
3976
    if constexpr (std::is_constructible_v<std::basic_string_view<CharT>,
3977
                                          const CharT*, const CharT*>) {
3978
        return {first, last};
3979
    }
3980
40.2k
    else {
3981
40.2k
        return {first, static_cast<size_t>(std::distance(first, last))};
3982
40.2k
    }
3983
40.2k
}
std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > scn::v4::detail::make_string_view_from_pointers<wchar_t>(wchar_t const*, wchar_t const*)
Line
Count
Source
3975
207M
{
3976
    if constexpr (std::is_constructible_v<std::basic_string_view<CharT>,
3977
                                          const CharT*, const CharT*>) {
3978
        return {first, last};
3979
    }
3980
207M
    else {
3981
207M
        return {first, static_cast<size_t>(std::distance(first, last))};
3982
207M
    }
3983
207M
}
3984
3985
template <typename CharT>
3986
constexpr auto make_string_view_iterator(
3987
    std::basic_string_view<CharT> sv,
3988
    typename std::basic_string_view<CharT>::iterator it) ->
3989
    typename std::basic_string_view<CharT>::iterator
3990
411k
{
3991
    if constexpr (std::is_constructible_v<
3992
                      typename std::basic_string_view<CharT>::iterator,
3993
                      decltype(it)> &&
3994
411k
                  !SCN_MSVC_DEBUG_ITERATORS) {
3995
411k
        SCN_UNUSED(sv);
3996
411k
        return it;
3997
    }
3998
    else {
3999
        return sv.begin() + std::distance(sv.data(), detail::to_address(it));
4000
    }
4001
411k
}
std::__1::basic_string_view<char, std::__1::char_traits<char> >::iterator scn::v4::detail::make_string_view_iterator<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >::iterator)
Line
Count
Source
3990
402k
{
3991
    if constexpr (std::is_constructible_v<
3992
                      typename std::basic_string_view<CharT>::iterator,
3993
                      decltype(it)> &&
3994
402k
                  !SCN_MSVC_DEBUG_ITERATORS) {
3995
402k
        SCN_UNUSED(sv);
3996
402k
        return it;
3997
    }
3998
    else {
3999
        return sv.begin() + std::distance(sv.data(), detail::to_address(it));
4000
    }
4001
402k
}
std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >::iterator scn::v4::detail::make_string_view_iterator<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >::iterator)
Line
Count
Source
3990
9.16k
{
3991
    if constexpr (std::is_constructible_v<
3992
                      typename std::basic_string_view<CharT>::iterator,
3993
                      decltype(it)> &&
3994
9.16k
                  !SCN_MSVC_DEBUG_ITERATORS) {
3995
9.16k
        SCN_UNUSED(sv);
3996
9.16k
        return it;
3997
    }
3998
    else {
3999
        return sv.begin() + std::distance(sv.data(), detail::to_address(it));
4000
    }
4001
9.16k
}
4002
4003
template <typename CharT>
4004
constexpr auto make_string_view_iterator_from_pointer(
4005
    std::basic_string_view<CharT> sv,
4006
    const CharT* ptr) -> typename std::basic_string_view<CharT>::iterator
4007
{
4008
    if constexpr (std::is_constructible_v<
4009
                      typename std::basic_string_view<CharT>::iterator,
4010
                      const CharT*> &&
4011
                  !SCN_MSVC_DEBUG_ITERATORS) {
4012
        SCN_UNUSED(sv);
4013
        return ptr;
4014
    }
4015
    else {
4016
        return sv.begin() + std::distance(sv.data(), ptr);
4017
    }
4018
}
4019
4020
/////////////////////////////////////////////////////////////////
4021
// Lightweight Unicode facilities
4022
/////////////////////////////////////////////////////////////////
4023
4024
constexpr inline bool is_ascii_code_point(char32_t cp)
4025
0
{
4026
0
    return cp <= 0x7f;
4027
0
}
4028
4029
template <typename U8>
4030
constexpr std::size_t utf8_code_point_length_by_starting_code_unit(U8 ch)
4031
3.19M
{
4032
3.19M
    static_assert(sizeof(U8) == 1);
4033
4034
3.19M
    SCN_GCC_COMPAT_PUSH
4035
3.19M
    SCN_GCC_COMPAT_IGNORE("-Wsign-conversion")
4036
3.19M
    constexpr char lengths[] =
4037
3.19M
        "\1\1\1\1\1\1\1\1"  // highest bit is 0 -> single-byte
4038
3.19M
        "\1\1\1\1\1\1\1\1"
4039
3.19M
        "\0\0\0\0\0\0\0\0"  // highest bits 10 -> error, non-initial
4040
                            // byte
4041
3.19M
        "\2\2\2\2"          // highest bits 110 -> 2-byte cp
4042
3.19M
        "\3\3"              // highest bits 1110 -> 3-byte cp
4043
3.19M
        "\4";               // highest bits 11110 -> 4-byte cp
4044
3.19M
    return lengths[static_cast<unsigned char>(ch) >> 3];
4045
3.19M
    SCN_GCC_COMPAT_POP
4046
3.19M
}
4047
4048
template <typename U16>
4049
constexpr std::size_t utf16_code_point_length_by_starting_code_unit(U16 ch)
4050
{
4051
    static_assert(sizeof(U16) == 2);
4052
4053
    const auto lead = static_cast<uint16_t>(0xffff & ch);
4054
    if (lead >= 0xd800 && lead <= 0xdbff) {
4055
        // high surrogate
4056
        return 2;
4057
    }
4058
    if (lead >= 0xdc00 && lead <= 0xdfff) {
4059
        // unpaired low surrogate
4060
        return 0;
4061
    }
4062
    return 1;
4063
}
4064
4065
template <typename U>
4066
constexpr std::size_t code_point_length_by_starting_code_unit(U ch)
4067
211M
{
4068
211M
    if constexpr (sizeof(U) == 1) {
4069
3.19M
        return utf8_code_point_length_by_starting_code_unit(ch);
4070
    }
4071
    else if constexpr (sizeof(U) == 2) {
4072
        return utf16_code_point_length_by_starting_code_unit(ch);
4073
    }
4074
207M
    else {
4075
        // utf-32
4076
207M
        static_assert(sizeof(U) == 4);
4077
207M
        SCN_UNUSED(ch);
4078
207M
        return 1;
4079
207M
    }
4080
211M
}
unsigned long scn::v4::detail::code_point_length_by_starting_code_unit<char>(char)
Line
Count
Source
4067
3.19M
{
4068
3.19M
    if constexpr (sizeof(U) == 1) {
4069
3.19M
        return utf8_code_point_length_by_starting_code_unit(ch);
4070
    }
4071
    else if constexpr (sizeof(U) == 2) {
4072
        return utf16_code_point_length_by_starting_code_unit(ch);
4073
    }
4074
    else {
4075
        // utf-32
4076
        static_assert(sizeof(U) == 4);
4077
        SCN_UNUSED(ch);
4078
        return 1;
4079
    }
4080
3.19M
}
unsigned long scn::v4::detail::code_point_length_by_starting_code_unit<wchar_t>(wchar_t)
Line
Count
Source
4067
207M
{
4068
    if constexpr (sizeof(U) == 1) {
4069
        return utf8_code_point_length_by_starting_code_unit(ch);
4070
    }
4071
    else if constexpr (sizeof(U) == 2) {
4072
        return utf16_code_point_length_by_starting_code_unit(ch);
4073
    }
4074
207M
    else {
4075
        // utf-32
4076
207M
        static_assert(sizeof(U) == 4);
4077
207M
        SCN_UNUSED(ch);
4078
207M
        return 1;
4079
207M
    }
4080
207M
}
4081
4082
inline constexpr char32_t invalid_code_point = 0x110000;
4083
4084
inline constexpr char32_t decode_utf8_code_point_exhaustive(
4085
    std::string_view input)
4086
2.94M
{
4087
2.94M
    SCN_EXPECT(!input.empty() && input.size() <= 4);
4088
4089
2.94M
    const auto is_trailing_code_unit = [](char ch) {
4090
500k
        return static_cast<unsigned char>(ch) >> 6 == 0x2;
4091
500k
    };
4092
4093
2.94M
    if (input.size() == 1) {
4094
2.48M
        if (static_cast<unsigned char>(input[0]) >= 0x80) {
4095
114
            SCN_UNLIKELY_ATTR
4096
114
            return invalid_code_point;
4097
114
        }
4098
2.48M
        return static_cast<char32_t>(input[0]);
4099
2.48M
    }
4100
4101
460k
    if (input.size() == 2) {
4102
421k
        if ((static_cast<unsigned char>(input[0]) & 0xe0) != 0xc0) {
4103
42
            SCN_UNLIKELY_ATTR
4104
42
            return invalid_code_point;
4105
42
        }
4106
421k
        if (!is_trailing_code_unit(input[1])) {
4107
5.73k
            SCN_UNLIKELY_ATTR
4108
5.73k
            return invalid_code_point;
4109
5.73k
        }
4110
4111
415k
        char32_t cp{};
4112
415k
        cp |= (static_cast<char32_t>(input[0]) & 0x1f) << 6;
4113
415k
        cp |= (static_cast<char32_t>(input[1]) & 0x3f) << 0;
4114
415k
        return cp;
4115
421k
    }
4116
4117
39.6k
    if (input.size() == 3) {
4118
34.7k
        if ((static_cast<unsigned char>(input[0]) & 0xf0) != 0xe0) {
4119
18
            SCN_UNLIKELY_ATTR
4120
18
            return invalid_code_point;
4121
18
        }
4122
34.7k
        if (!is_trailing_code_unit(input[1]) ||
4123
34.7k
            !is_trailing_code_unit(input[2])) {
4124
1.90k
            SCN_UNLIKELY_ATTR
4125
1.90k
            return invalid_code_point;
4126
1.90k
        }
4127
4128
32.8k
        char32_t cp{};
4129
32.8k
        cp |= (static_cast<char32_t>(input[0]) & 0x0f) << 12;
4130
32.8k
        cp |= (static_cast<char32_t>(input[1]) & 0x3f) << 6;
4131
32.8k
        cp |= (static_cast<char32_t>(input[2]) & 0x3f) << 0;
4132
32.8k
        return cp;
4133
34.7k
    }
4134
4135
4.87k
    if (input.size() == 4) {
4136
4.87k
        if ((static_cast<unsigned char>(input[0]) & 0xf8) != 0xf0) {
4137
0
            SCN_UNLIKELY_ATTR
4138
0
            return invalid_code_point;
4139
0
        }
4140
4.87k
        if (static_cast<unsigned char>(input[0]) > 0xf4) {
4141
259
            SCN_UNLIKELY_ATTR
4142
259
            return invalid_code_point;
4143
259
        }
4144
4.62k
        if (!is_trailing_code_unit(input[1]) ||
4145
4.62k
            !is_trailing_code_unit(input[2]) ||
4146
4.62k
            !is_trailing_code_unit(input[3])) {
4147
1.78k
            SCN_UNLIKELY_ATTR
4148
1.78k
            return invalid_code_point;
4149
1.78k
        }
4150
4151
2.84k
        char32_t cp{};
4152
2.84k
        cp |= (static_cast<char32_t>(input[0]) & 0x07) << 18;
4153
2.84k
        cp |= (static_cast<char32_t>(input[1]) & 0x3f) << 12;
4154
2.84k
        cp |= (static_cast<char32_t>(input[2]) & 0x3f) << 6;
4155
2.84k
        cp |= (static_cast<char32_t>(input[3]) & 0x3f) << 0;
4156
2.84k
        return cp;
4157
4.62k
    }
4158
4159
0
#if !SCN_GCC || SCN_GCC >= SCN_COMPILER(8, 0, 0)
4160
    // gcc 7 thinks we'll get here, even when we won't
4161
0
    SCN_EXPECT(false);
4162
0
#endif
4163
0
    SCN_UNREACHABLE;
4164
0
}
4165
4166
inline constexpr char32_t decode_utf8_code_point_exhaustive_valid(
4167
    std::string_view input)
4168
126k
{
4169
126k
    SCN_EXPECT(!input.empty() && input.size() <= 4);
4170
4171
126k
    const auto is_trailing_code_unit = [](char ch) {
4172
19.1k
        return static_cast<unsigned char>(ch) >> 6 == 0x2;
4173
19.1k
    };
4174
4175
126k
    if (input.size() == 1) {
4176
108k
        SCN_EXPECT(static_cast<unsigned char>(input[0]) < 0x80);
4177
108k
        return static_cast<char32_t>(input[0]);
4178
108k
    }
4179
4180
18.2k
    if (input.size() == 2) {
4181
17.4k
        SCN_EXPECT((static_cast<unsigned char>(input[0]) & 0xe0) == 0xc0);
4182
17.4k
        SCN_EXPECT(is_trailing_code_unit(input[1]));
4183
4184
17.4k
        char32_t cp{};
4185
17.4k
        cp |= (static_cast<char32_t>(input[0]) & 0x1f) << 6;
4186
17.4k
        cp |= (static_cast<char32_t>(input[1]) & 0x3f) << 0;
4187
17.4k
        return cp;
4188
17.4k
    }
4189
4190
762
    if (input.size() == 3) {
4191
640
        SCN_EXPECT((static_cast<unsigned char>(input[0]) & 0xf0) == 0xe0);
4192
640
        SCN_EXPECT(is_trailing_code_unit(input[1]));
4193
640
        SCN_EXPECT(is_trailing_code_unit(input[2]));
4194
4195
640
        char32_t cp{};
4196
640
        cp |= (static_cast<char32_t>(input[0]) & 0x0f) << 12;
4197
640
        cp |= (static_cast<char32_t>(input[1]) & 0x3f) << 6;
4198
640
        cp |= (static_cast<char32_t>(input[2]) & 0x3f) << 0;
4199
640
        return cp;
4200
640
    }
4201
4202
122
    if (input.size() == 4) {
4203
122
        SCN_EXPECT((static_cast<unsigned char>(input[0]) & 0xf8) == 0xf0);
4204
122
        SCN_EXPECT(static_cast<unsigned char>(input[0]) <= 0xf4);
4205
122
        SCN_EXPECT(is_trailing_code_unit(input[1]));
4206
122
        SCN_EXPECT(is_trailing_code_unit(input[2]));
4207
122
        SCN_EXPECT(is_trailing_code_unit(input[3]));
4208
4209
122
        char32_t cp{};
4210
122
        cp |= (static_cast<char32_t>(input[0]) & 0x07) << 18;
4211
122
        cp |= (static_cast<char32_t>(input[1]) & 0x3f) << 12;
4212
122
        cp |= (static_cast<char32_t>(input[2]) & 0x3f) << 6;
4213
122
        cp |= (static_cast<char32_t>(input[3]) & 0x3f) << 0;
4214
122
        return cp;
4215
122
    }
4216
4217
0
#if !SCN_GCC || SCN_GCC >= SCN_COMPILER(8, 0, 0)
4218
    // gcc 7 thinks we'll get here, even when we won't
4219
0
    SCN_EXPECT(false);
4220
0
#endif
4221
0
    SCN_UNREACHABLE;
4222
0
}
4223
4224
template <typename CharT>
4225
inline constexpr char32_t decode_utf16_code_point_exhaustive(
4226
    std::basic_string_view<CharT> input)
4227
{
4228
    static_assert(sizeof(CharT) == 2);
4229
4230
    SCN_EXPECT(!input.empty() && input.size() <= 2);
4231
4232
    if (input.size() == 1) {
4233
        return static_cast<char32_t>(input[0]);
4234
    }
4235
4236
    const auto lead = static_cast<uint32_t>(input[0]);
4237
    const auto trail = static_cast<uint32_t>(input[1]);
4238
    if (lead < 0xd800 || lead > 0xdbff || trail < 0xdc00 || trail > 0xdfff) {
4239
        SCN_UNLIKELY_ATTR
4240
        return invalid_code_point;
4241
    }
4242
4243
    const auto cp = ((lead - 0xd800) << 10) | (trail - 0xdc00);
4244
    return static_cast<char32_t>(cp + 0x10000);
4245
}
4246
4247
template <typename CharT>
4248
inline constexpr char32_t decode_utf16_code_point_exhaustive_valid(
4249
    std::basic_string_view<CharT> input)
4250
{
4251
    static_assert(sizeof(CharT) == 2);
4252
4253
    SCN_EXPECT(!input.empty() && input.size() <= 2);
4254
4255
    if (input.size() == 1) {
4256
        return static_cast<char32_t>(input[0]);
4257
    }
4258
4259
    const auto lead = static_cast<uint32_t>(input[0]);
4260
    const auto trail = static_cast<uint32_t>(input[1]);
4261
    SCN_EXPECT(lead >= 0xd800);
4262
    SCN_EXPECT(lead <= 0xdbff);
4263
    SCN_EXPECT(trail >= 0xdc00);
4264
    SCN_EXPECT(trail <= 0xdfff);
4265
4266
    const auto cp = ((lead - 0xd800) << 10) | (trail - 0xdc00);
4267
    return static_cast<char32_t>(cp + 0x10000);
4268
}
4269
4270
template <typename CharT>
4271
inline constexpr char32_t decode_code_point_exhaustive(
4272
    std::basic_string_view<CharT> input)
4273
210M
{
4274
210M
    if constexpr (sizeof(CharT) == 1) {
4275
2.94M
        return decode_utf8_code_point_exhaustive(input);
4276
    }
4277
    else if constexpr (sizeof(CharT) == 2) {
4278
        return decode_utf16_code_point_exhaustive(input);
4279
    }
4280
207M
    else {
4281
207M
        SCN_EXPECT(input.size() == 1);
4282
207M
        auto cp = static_cast<char32_t>(input.front());
4283
207M
        if (SCN_UNLIKELY(cp >= invalid_code_point)) {
4284
41.4k
            return invalid_code_point;
4285
41.4k
        }
4286
207M
        return cp;
4287
207M
    }
4288
210M
}
char32_t scn::v4::detail::decode_code_point_exhaustive<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
4273
2.94M
{
4274
2.94M
    if constexpr (sizeof(CharT) == 1) {
4275
2.94M
        return decode_utf8_code_point_exhaustive(input);
4276
    }
4277
    else if constexpr (sizeof(CharT) == 2) {
4278
        return decode_utf16_code_point_exhaustive(input);
4279
    }
4280
    else {
4281
        SCN_EXPECT(input.size() == 1);
4282
        auto cp = static_cast<char32_t>(input.front());
4283
        if (SCN_UNLIKELY(cp >= invalid_code_point)) {
4284
            return invalid_code_point;
4285
        }
4286
        return cp;
4287
    }
4288
2.94M
}
char32_t scn::v4::detail::decode_code_point_exhaustive<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
Line
Count
Source
4273
207M
{
4274
    if constexpr (sizeof(CharT) == 1) {
4275
        return decode_utf8_code_point_exhaustive(input);
4276
    }
4277
    else if constexpr (sizeof(CharT) == 2) {
4278
        return decode_utf16_code_point_exhaustive(input);
4279
    }
4280
207M
    else {
4281
207M
        SCN_EXPECT(input.size() == 1);
4282
207M
        auto cp = static_cast<char32_t>(input.front());
4283
207M
        if (SCN_UNLIKELY(cp >= invalid_code_point)) {
4284
41.4k
            return invalid_code_point;
4285
41.4k
        }
4286
207M
        return cp;
4287
207M
    }
4288
207M
}
4289
4290
template <typename CharT>
4291
inline constexpr char32_t decode_code_point_exhaustive_valid(
4292
    std::basic_string_view<CharT> input)
4293
126k
{
4294
126k
    if constexpr (sizeof(CharT) == 1) {
4295
126k
        return decode_utf8_code_point_exhaustive_valid(input);
4296
    }
4297
    else if constexpr (sizeof(CharT) == 2) {
4298
        return decode_utf16_code_point_exhaustive_valid(input);
4299
    }
4300
0
    else {
4301
0
        SCN_EXPECT(input.size() == 1);
4302
0
        return static_cast<char32_t>(input.front());
4303
0
    }
4304
126k
}
char32_t scn::v4::detail::decode_code_point_exhaustive_valid<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
4293
126k
{
4294
126k
    if constexpr (sizeof(CharT) == 1) {
4295
126k
        return decode_utf8_code_point_exhaustive_valid(input);
4296
    }
4297
    else if constexpr (sizeof(CharT) == 2) {
4298
        return decode_utf16_code_point_exhaustive_valid(input);
4299
    }
4300
    else {
4301
        SCN_EXPECT(input.size() == 1);
4302
        return static_cast<char32_t>(input.front());
4303
    }
4304
126k
}
Unexecuted instantiation: char32_t scn::v4::detail::decode_code_point_exhaustive_valid<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
4305
4306
inline constexpr bool is_cp_space(char32_t cp) noexcept
4307
207M
{
4308
    // Pattern_White_Space property
4309
207M
    return (cp >= 0x09 && cp <= 0x0d) ||
4310
207M
           cp == 0x20 ||    // ASCII space characters
4311
207M
           cp == 0x85 ||    // NEXT LINE (NEL)
4312
207M
           cp == 0x200e ||  // LEFT-TO-RIGHT MARK
4313
207M
           cp == 0x200f ||  // RIGHT-TO-LEFT MARK
4314
207M
           cp == 0x2028 ||  // LINE SEPARATOR
4315
207M
           cp == 0x2029;    // PARAGRAPH SEPARATOR
4316
207M
}
4317
4318
}  // namespace detail
4319
4320
/////////////////////////////////////////////////////////////////
4321
// scan_buffer
4322
/////////////////////////////////////////////////////////////////
4323
4324
namespace detail {
4325
template <typename CharT>
4326
class basic_scan_buffer {
4327
public:
4328
    class forward_iterator;
4329
    class common_forward_iterator;
4330
4331
    using char_type = CharT;
4332
    using range_type =
4333
        ranges::subrange<forward_iterator, ranges::default_sentinel_t>;
4334
    using common_range_type = ranges::subrange<common_forward_iterator>;
4335
4336
    basic_scan_buffer(const basic_scan_buffer&) = delete;
4337
    basic_scan_buffer& operator=(const basic_scan_buffer&) = delete;
4338
    basic_scan_buffer(basic_scan_buffer&&) = delete;
4339
    basic_scan_buffer& operator=(basic_scan_buffer&&) = delete;
4340
0
    virtual ~basic_scan_buffer() = default;
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::~basic_scan_buffer()
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::~basic_scan_buffer()
4341
4342
    virtual bool fill() = 0;
4343
4344
    virtual bool sync(std::ptrdiff_t position)
4345
0
    {
4346
0
        SCN_UNUSED(position);
4347
0
        return true;
4348
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::sync(long)
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::sync(long)
4349
4350
    bool sync_all()
4351
0
    {
4352
0
        return sync(0);
4353
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::sync_all()
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::sync_all()
4354
4355
    SCN_NODISCARD std::ptrdiff_t chars_available() const
4356
0
    {
4357
0
        return m_putback_buffer.size() + m_current_view.size();
4358
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::chars_available() const
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::chars_available() const
4359
4360
    SCN_NODISCARD std::basic_string_view<CharT> current_view() const
4361
0
    {
4362
0
        return m_current_view;
4363
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::current_view() const
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::current_view() const
4364
4365
    SCN_NODISCARD std::basic_string<CharT>& putback_buffer()
4366
0
    {
4367
0
        return m_putback_buffer;
4368
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::putback_buffer()
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::putback_buffer()
4369
    SCN_NODISCARD const std::basic_string<CharT>& putback_buffer() const
4370
    {
4371
        return m_putback_buffer;
4372
    }
4373
4374
    SCN_NODISCARD std::basic_string_view<CharT> get_segment_starting_at(
4375
        std::ptrdiff_t pos) const
4376
0
    {
4377
0
        if (SCN_UNLIKELY(
4378
0
                pos < static_cast<std::ptrdiff_t>(m_putback_buffer.size()))) {
4379
0
            return std::basic_string_view<CharT>(m_putback_buffer).substr(pos);
4380
0
        }
4381
0
        const auto start = pos - m_putback_buffer.size();
4382
0
        SCN_EXPECT(start <= m_current_view.size());
4383
0
        return m_current_view.substr(start);
4384
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::get_segment_starting_at(long) const
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::get_segment_starting_at(long) const
4385
4386
    SCN_NODISCARD CharT get_character_at(std::ptrdiff_t pos) const
4387
0
    {
4388
0
        if (SCN_UNLIKELY(
4389
0
                pos < static_cast<std::ptrdiff_t>(m_putback_buffer.size()))) {
4390
0
            return m_putback_buffer[pos];
4391
0
        }
4392
0
        const auto start = pos - m_putback_buffer.size();
4393
0
        SCN_EXPECT(start < m_current_view.size());
4394
0
        return m_current_view[start];
4395
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::get_character_at(long) const
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::get_character_at(long) const
4396
4397
    SCN_NODISCARD bool is_contiguous() const
4398
0
    {
4399
0
        return m_is_contiguous;
4400
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::is_contiguous() const
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::is_contiguous() const
4401
4402
    SCN_NODISCARD auto get_contiguous() const
4403
0
    {
4404
0
        SCN_EXPECT(is_contiguous());
4405
0
        return ranges::subrange<const CharT*>{
4406
0
            current_view().data(),
4407
0
            current_view().data() + current_view().size()};
4408
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::get_contiguous() const
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::get_contiguous() const
4409
4410
    SCN_NODISCARD range_type get();
4411
    SCN_NODISCARD common_range_type get_common_range();
4412
4413
protected:
4414
    friend class forward_iterator;
4415
    friend class common_forward_iterator;
4416
4417
    struct contiguous_tag {};
4418
    struct non_contiguous_tag {};
4419
4420
    basic_scan_buffer(contiguous_tag, std::basic_string_view<char_type> sv)
4421
0
        : m_current_view(sv), m_is_contiguous(true)
4422
0
    {
4423
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::basic_scan_buffer(scn::v4::detail::basic_scan_buffer<char>::contiguous_tag, std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::basic_scan_buffer(scn::v4::detail::basic_scan_buffer<wchar_t>::contiguous_tag, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
4424
4425
    basic_scan_buffer(non_contiguous_tag,
4426
                      std::basic_string_view<char_type> sv = {})
4427
0
        : m_current_view(sv), m_is_contiguous(false)
4428
0
    {
4429
0
    }
4430
4431
    basic_scan_buffer(bool is_contiguous, std::basic_string_view<char_type> sv)
4432
0
        : m_current_view(sv), m_is_contiguous(is_contiguous)
4433
0
    {
4434
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::basic_scan_buffer(bool, std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::basic_scan_buffer(bool, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
4435
4436
    std::basic_string_view<char_type> m_current_view{};
4437
    std::basic_string<char_type> m_putback_buffer{};
4438
    bool m_is_contiguous{false};
4439
};
4440
4441
template <typename CharT>
4442
class basic_scan_buffer<CharT>::forward_iterator {
4443
public:
4444
    using value_type = CharT;
4445
    using reference = CharT;
4446
    using pointer = CharT*;
4447
    using difference_type = std::ptrdiff_t;
4448
    using iterator_category = std::forward_iterator_tag;
4449
4450
0
    forward_iterator() = default;
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::forward_iterator::forward_iterator()
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator::forward_iterator()
4451
4452
    forward_iterator(basic_scan_buffer<CharT>* parent, std::ptrdiff_t pos)
4453
0
        : m_begin(parent), m_end(nullptr), m_position(pos)
4454
0
    {
4455
0
        SCN_EXPECT(parent);
4456
0
        SCN_EXPECT(!parent->is_contiguous());
4457
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::forward_iterator::forward_iterator(scn::v4::detail::basic_scan_buffer<char>*, long)
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator::forward_iterator(scn::v4::detail::basic_scan_buffer<wchar_t>*, long)
4458
4459
    forward_iterator(std::basic_string_view<CharT> view, std::ptrdiff_t pos)
4460
0
        : m_begin(const_cast<CharT*>(view.data())),
4461
0
          m_end(const_cast<CharT*>(view.data() + view.size())),
4462
0
          m_position(pos)
4463
0
    {
4464
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::forward_iterator::forward_iterator(std::__1::basic_string_view<char, std::__1::char_traits<char> >, long)
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator::forward_iterator(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, long)
4465
4466
    std::ptrdiff_t position() const
4467
0
    {
4468
0
        return m_position;
4469
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::forward_iterator::position() const
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator::position() const
4470
4471
    bool stores_parent() const
4472
0
    {
4473
0
        assert(m_begin);
4474
0
        return m_end == nullptr;
4475
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::forward_iterator::stores_parent() const
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator::stores_parent() const
4476
4477
    basic_scan_buffer<CharT>* parent()
4478
0
    {
4479
0
        SCN_EXPECT(stores_parent());
4480
0
        return static_cast<basic_scan_buffer<CharT>*>(m_begin);
4481
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::forward_iterator::parent()
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator::parent()
4482
    const basic_scan_buffer<CharT>* parent() const
4483
0
    {
4484
0
        SCN_EXPECT(stores_parent());
4485
0
        return static_cast<const basic_scan_buffer<CharT>*>(m_begin);
4486
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::forward_iterator::parent() const
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator::parent() const
4487
4488
    std::basic_string_view<CharT> contiguous_segment() const
4489
0
    {
4490
0
        if (!stores_parent()) {
4491
0
            return make_string_view_from_pointers(
4492
0
                static_cast<const CharT*>(m_begin) + position(),
4493
0
                static_cast<const CharT*>(m_end));
4494
0
        }
4495
0
        return parent()->get_segment_starting_at(position());
4496
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::forward_iterator::contiguous_segment() const
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator::contiguous_segment() const
4497
    auto to_contiguous_segment_iterator() const
4498
    {
4499
        return contiguous_segment().data();
4500
    }
4501
4502
    forward_iterator& operator++()
4503
0
    {
4504
0
        ++m_position;
4505
0
        (void)read_at_position();
4506
0
        return *this;
4507
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::forward_iterator::operator++()
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator::operator++()
4508
4509
    forward_iterator operator++(int)
4510
    {
4511
        auto copy = *this;
4512
        operator++();
4513
        return copy;
4514
    }
4515
4516
    CharT operator*() const
4517
0
    {
4518
0
        SCN_EXPECT(m_begin);
4519
4520
0
        if (!stores_parent()) {
4521
0
            auto ptr = static_cast<const CharT*>(m_begin) + position();
4522
0
            SCN_EXPECT(ptr != m_end);
4523
0
            return *ptr;
4524
0
        }
4525
4526
0
        auto res = read_at_position();
4527
0
        SCN_EXPECT(res);
4528
0
        return parent()->get_character_at(m_position);
4529
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::forward_iterator::operator*() const
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator::operator*() const
4530
4531
    forward_iterator& batch_advance(std::ptrdiff_t n)
4532
0
    {
4533
0
        SCN_EXPECT(n >= 0);
4534
0
        m_position += n;
4535
0
        return *this;
4536
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::forward_iterator::batch_advance(long)
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator::batch_advance(long)
4537
4538
    forward_iterator& batch_advance_to(std::ptrdiff_t i)
4539
0
    {
4540
0
        SCN_EXPECT(i >= m_position);
4541
0
        m_position = i;
4542
0
        return *this;
4543
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::forward_iterator::batch_advance_to(long)
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator::batch_advance_to(long)
4544
4545
    friend bool operator==(const forward_iterator& lhs,
4546
                           const forward_iterator& rhs)
4547
0
    {
4548
0
        return lhs.m_begin == rhs.m_begin && lhs.m_position == rhs.m_position;
4549
0
    }
Unexecuted instantiation: scn::v4::detail::operator==(scn::v4::detail::basic_scan_buffer<char>::forward_iterator const&, scn::v4::detail::basic_scan_buffer<char>::forward_iterator const&)
Unexecuted instantiation: scn::v4::detail::operator==(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator const&, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator const&)
4550
    friend bool operator!=(const forward_iterator& lhs,
4551
                           const forward_iterator& rhs)
4552
0
    {
4553
0
        return !(lhs == rhs);
4554
0
    }
Unexecuted instantiation: scn::v4::detail::operator!=(scn::v4::detail::basic_scan_buffer<char>::forward_iterator const&, scn::v4::detail::basic_scan_buffer<char>::forward_iterator const&)
Unexecuted instantiation: scn::v4::detail::operator!=(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator const&, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator const&)
4555
4556
    friend bool operator==(const forward_iterator& x,
4557
                           ranges::default_sentinel_t)
4558
0
    {
4559
0
        return x.is_at_end();
4560
0
    }
Unexecuted instantiation: scn::v4::detail::operator==(scn::v4::detail::basic_scan_buffer<char>::forward_iterator const&, scn::v4::ranges::default_sentinel_t)
Unexecuted instantiation: scn::v4::detail::operator==(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator const&, scn::v4::ranges::default_sentinel_t)
4561
    friend bool operator==(ranges::default_sentinel_t,
4562
                           const forward_iterator& x)
4563
    {
4564
        return x.is_at_end();
4565
    }
4566
4567
    friend bool operator!=(const forward_iterator& x,
4568
                           ranges::default_sentinel_t)
4569
0
    {
4570
0
        return !x.is_at_end();
4571
0
    }
Unexecuted instantiation: scn::v4::detail::operator!=(scn::v4::detail::basic_scan_buffer<char>::forward_iterator const&, scn::v4::ranges::default_sentinel_t)
Unexecuted instantiation: scn::v4::detail::operator!=(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator const&, scn::v4::ranges::default_sentinel_t)
4572
    friend bool operator!=(ranges::default_sentinel_t,
4573
                           const forward_iterator& x)
4574
    {
4575
        return !x.is_at_end();
4576
    }
4577
4578
private:
4579
    friend class basic_scan_buffer<CharT>;
4580
4581
    SCN_NODISCARD bool read_at_position() const
4582
0
    {
4583
0
        SCN_EXPECT(m_begin);
4584
4585
0
        if (!stores_parent()) {
4586
0
            return true;
4587
0
        }
4588
4589
0
        if (SCN_LIKELY(m_position < parent()->chars_available())) {
4590
0
            return true;
4591
0
        }
4592
4593
0
        while (m_position >= parent()->chars_available()) {
4594
0
            if (!const_cast<basic_scan_buffer<CharT>*>(parent())->fill()) {
4595
0
                return false;
4596
0
            }
4597
0
        }
4598
0
        return true;
4599
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::forward_iterator::read_at_position() const
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator::read_at_position() const
4600
4601
    SCN_NODISCARD bool is_at_end() const
4602
0
    {
4603
0
        if (m_end) {
4604
0
            return (static_cast<const CharT*>(m_begin) + position()) == m_end;
4605
0
        }
4606
0
        if (!m_begin) {
4607
0
            return true;
4608
0
        }
4609
0
        return !read_at_position();
4610
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::forward_iterator::is_at_end() const
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator::is_at_end() const
4611
4612
    // If m_end is null, m_begin points to the parent scan_buffer
4613
    // Otherwise, [m_begin, m_end) is the range of this iterator (and of
4614
    // the entire range)
4615
    mutable void* m_begin{nullptr};
4616
    mutable void* m_end{nullptr};
4617
    std::ptrdiff_t m_position{0};
4618
};
4619
4620
template <typename CharT>
4621
class basic_scan_buffer<CharT>::common_forward_iterator
4622
    : public basic_scan_buffer<CharT>::forward_iterator {
4623
    using base = basic_scan_buffer<CharT>::forward_iterator;
4624
4625
public:
4626
    common_forward_iterator() = default;
4627
4628
    explicit common_forward_iterator(forward_iterator it)
4629
0
        : base(it), m_is_end(it.is_at_end())
4630
0
    {
4631
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::common_forward_iterator::common_forward_iterator(scn::v4::detail::basic_scan_buffer<char>::forward_iterator)
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::common_forward_iterator::common_forward_iterator(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator)
4632
    explicit common_forward_iterator(ranges::default_sentinel_t)
4633
0
        : base(), m_is_end(true)
4634
0
    {
4635
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::common_forward_iterator::common_forward_iterator(scn::v4::ranges::default_sentinel_t)
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::common_forward_iterator::common_forward_iterator(scn::v4::ranges::default_sentinel_t)
4636
4637
    common_forward_iterator& operator++()
4638
    {
4639
        base::operator++();
4640
        m_is_end = base::is_at_end();
4641
        return *this;
4642
    }
4643
4644
    common_forward_iterator operator++(int)
4645
    {
4646
        auto copy = *this;
4647
        operator++();
4648
        return copy;
4649
    }
4650
4651
    common_forward_iterator& batch_advance(std::ptrdiff_t n)
4652
    {
4653
        base::batch_advance(n);
4654
        m_is_end = base::is_at_end();
4655
        return *this;
4656
    }
4657
4658
    common_forward_iterator& batch_advance_to(std::ptrdiff_t i)
4659
    {
4660
        base::batch_advance_to(i);
4661
        m_is_end = base::is_at_end();
4662
        return *this;
4663
    }
4664
4665
    friend bool operator==(const common_forward_iterator& lhs,
4666
                           const common_forward_iterator& rhs)
4667
    {
4668
        if (lhs.m_is_end && rhs.m_is_end) {
4669
            return true;
4670
        }
4671
        if (lhs.m_is_end != rhs.m_is_end) {
4672
            return false;
4673
        }
4674
        return static_cast<const forward_iterator&>(lhs) ==
4675
               static_cast<const forward_iterator&>(rhs);
4676
    }
4677
4678
    friend bool operator!=(const common_forward_iterator& lhs,
4679
                           const common_forward_iterator& rhs)
4680
    {
4681
        return !(lhs == rhs);
4682
    }
4683
4684
private:
4685
    bool m_is_end{};
4686
};
4687
4688
template <typename CharT>
4689
SCN_NODISCARD auto basic_scan_buffer<CharT>::get() -> range_type
4690
0
{
4691
0
    if (is_contiguous()) {
4692
0
        return ranges::subrange{forward_iterator{m_current_view, 0},
4693
0
                                ranges::default_sentinel};
4694
0
    }
4695
0
    return ranges::subrange{forward_iterator{this, 0},
4696
0
                            ranges::default_sentinel};
4697
0
}
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::get()
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::get()
4698
4699
template <typename CharT>
4700
SCN_NODISCARD auto basic_scan_buffer<CharT>::get_common_range()
4701
    -> common_range_type
4702
{
4703
    auto r = get();
4704
    return ranges::subrange{common_forward_iterator{r.begin()},
4705
                            common_forward_iterator{r.end()}};
4706
}
4707
4708
static_assert(ranges::forward_range<scan_buffer::range_type>);
4709
4710
template <typename CharT>
4711
class basic_scan_string_buffer : public basic_scan_buffer<CharT> {
4712
    using base = basic_scan_buffer<CharT>;
4713
4714
public:
4715
    basic_scan_string_buffer(std::basic_string_view<CharT> sv)
4716
0
        : base(typename base::contiguous_tag{}, sv)
4717
0
    {
4718
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_string_buffer<char>::basic_scan_string_buffer(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Unexecuted instantiation: scn::v4::detail::basic_scan_string_buffer<wchar_t>::basic_scan_string_buffer(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
4719
4720
    bool fill() override
4721
0
    {
4722
0
        SCN_EXPECT(false);
4723
0
        SCN_UNREACHABLE;
4724
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_string_buffer<char>::fill()
Unexecuted instantiation: scn::v4::detail::basic_scan_string_buffer<wchar_t>::fill()
4725
};
4726
4727
template <typename CharT>
4728
basic_scan_string_buffer(std::basic_string_view<CharT>)
4729
    -> basic_scan_string_buffer<CharT>;
4730
4731
template <typename CharT>
4732
class basic_scan_forward_buffer_base : public basic_scan_buffer<CharT> {
4733
    using base = basic_scan_buffer<CharT>;
4734
4735
protected:
4736
    basic_scan_forward_buffer_base() : base(typename base::non_contiguous_tag{})
4737
    {
4738
    }
4739
};
4740
4741
template <typename I, typename S>
4742
using less_than_compare =
4743
    decltype(SCN_DECLVAL(const I&) < SCN_DECLVAL(const S&));
4744
4745
template <typename Range>
4746
class basic_scan_forward_buffer_impl
4747
    : public basic_scan_forward_buffer_base<detail::char_t<Range>> {
4748
    static_assert(ranges::range<const Range> && std::is_object_v<Range>);
4749
4750
    using _char_type = detail::char_t<Range>;
4751
    using base = basic_scan_forward_buffer_base<_char_type>;
4752
4753
public:
4754
    using char_type = _char_type;
4755
    using range_type = Range;
4756
    using iterator = ranges::iterator_t<const Range>;
4757
    using sentinel = ranges::sentinel_t<const Range>;
4758
4759
    template <
4760
        typename R,
4761
        std::enable_if_t<is_not_self<R, basic_scan_forward_buffer_impl> &&
4762
                         std::is_convertible_v<R, const Range&>>* = nullptr>
4763
    basic_scan_forward_buffer_impl(R&& r)
4764
        : m_range(std::addressof(static_cast<const Range&>(SCN_FWD(r)))),
4765
          m_cursor(ranges::begin(*m_range))
4766
    {
4767
    }
4768
4769
    bool fill() override
4770
    {
4771
        if (m_cursor == ranges::end(*m_range)) {
4772
            return false;
4773
        }
4774
        if constexpr (mp_valid_v<less_than_compare, iterator, sentinel>) {
4775
            SCN_EXPECT(m_cursor < ranges::end(*m_range));
4776
        }
4777
        if (!this->m_current_view.empty()) {
4778
            this->m_putback_buffer.insert(this->m_putback_buffer.end(),
4779
                                          this->m_current_view.begin(),
4780
                                          this->m_current_view.end());
4781
        }
4782
        m_latest = *m_cursor;
4783
        ++m_cursor;
4784
        this->m_current_view = std::basic_string_view<char_type>{&m_latest, 1};
4785
        if constexpr (mp_valid_v<less_than_compare, iterator, sentinel>) {
4786
            SCN_EXPECT(m_cursor <= ranges::end(*m_range));
4787
        }
4788
        return true;
4789
    }
4790
4791
private:
4792
    const Range* m_range;
4793
    iterator m_cursor;
4794
    char_type m_latest{};
4795
};
4796
4797
template <typename R>
4798
basic_scan_forward_buffer_impl(const R&) -> basic_scan_forward_buffer_impl<R>;
4799
4800
struct default_file_tag {};
4801
struct gnu_file_tag {};
4802
struct bsd_file_tag {};
4803
struct musl_file_tag {};
4804
struct win32_file_tag {};
4805
4806
// Non-pretty workaround for MSVC silliness
4807
template <typename F, typename = void>
4808
inline constexpr bool is_gnu_file = false;
4809
template <typename F>
4810
inline constexpr bool
4811
    is_gnu_file<F,
4812
                std::void_t<decltype(SCN_DECLVAL(F)._IO_read_ptr),
4813
                            decltype(SCN_DECLVAL(F)._IO_read_end)>> = true;
4814
4815
template <typename F, typename = void>
4816
inline constexpr bool is_bsd_file = false;
4817
template <typename F>
4818
inline constexpr bool is_bsd_file<
4819
    F,
4820
    std::void_t<decltype(SCN_DECLVAL(F)._p), decltype(SCN_DECLVAL(F)._r)>> =
4821
    true;
4822
4823
template <typename F, typename = void>
4824
inline constexpr bool is_musl_file = false;
4825
template <typename F>
4826
inline constexpr bool is_musl_file<
4827
    F,
4828
    std::void_t<decltype(SCN_DECLVAL(F).rpos), decltype(SCN_DECLVAL(F).rend)>> =
4829
    true;
4830
4831
template <typename F>
4832
inline constexpr bool is_win32_file =
4833
    std::is_same_v<F, std::FILE> && SCN_WINDOWS && !SCN_MINGW;
4834
4835
constexpr auto get_file_tag()
4836
0
{
4837
0
    if constexpr (is_gnu_file<std::FILE>) {
4838
0
        return detail::tag_type<gnu_file_tag>{};
4839
0
    }
4840
0
    else if constexpr (is_bsd_file<std::FILE>) {
4841
0
        return detail::tag_type<bsd_file_tag>{};
4842
0
    }
4843
0
    else if constexpr (is_musl_file<std::FILE>) {
4844
0
        return detail::tag_type<musl_file_tag>{};
4845
0
    }
4846
0
    else if constexpr (is_win32_file<std::FILE>) {
4847
0
        return detail::tag_type<win32_file_tag>{};
4848
0
    }
4849
0
    else {
4850
0
        return detail::tag_type<default_file_tag>{};
4851
0
    }
4852
0
}
4853
4854
template <typename File>
4855
struct stdio_file_interface_base {
4856
0
    stdio_file_interface_base(File* f) : file(f) {}
4857
    ~stdio_file_interface_base() = default;
4858
4859
    stdio_file_interface_base(const stdio_file_interface_base&) = delete;
4860
    stdio_file_interface_base& operator=(const stdio_file_interface_base&) =
4861
        delete;
4862
4863
    stdio_file_interface_base(stdio_file_interface_base&& other)
4864
0
        : file(other.file)
4865
0
    {
4866
0
        other.file = nullptr;
4867
0
    }
4868
    stdio_file_interface_base& operator=(stdio_file_interface_base&& other)
4869
    {
4870
        file = other.file;
4871
        other.file = nullptr;
4872
        return *this;
4873
    }
4874
4875
    File* file;
4876
};
4877
4878
template <typename File, typename Tag>
4879
struct stdio_file_interface_impl;
4880
4881
template <typename File>
4882
struct stdio_file_interface_impl<File, default_file_tag>
4883
    : stdio_file_interface_base<File> {
4884
    void lock() {}
4885
    void unlock() {}
4886
4887
    bool has_buffering() const
4888
    {
4889
        return false;
4890
    }
4891
4892
    std::string_view buffer() const
4893
    {
4894
        return {};
4895
    }
4896
    void unsafe_advance_n(std::ptrdiff_t)
4897
    {
4898
        SCN_EXPECT(false);
4899
        SCN_UNREACHABLE;
4900
    }
4901
    void fill_buffer()
4902
    {
4903
        SCN_EXPECT(false);
4904
        SCN_UNREACHABLE;
4905
    }
4906
4907
    std::optional<char> read_one()
4908
    {
4909
        auto res = std::fgetc(this->file);
4910
        if (res == EOF) {
4911
            return std::nullopt;
4912
        }
4913
        return static_cast<char>(res);
4914
    }
4915
4916
    void prepare_putback() {}
4917
    void finalize_putback() {}
4918
4919
    bool putback(char ch)
4920
    {
4921
        return std::ungetc(static_cast<unsigned char>(ch), this->file) != EOF;
4922
    }
4923
};
4924
4925
template <typename File>
4926
struct posix_stdio_file_interface : stdio_file_interface_base<File> {
4927
    void lock()
4928
0
    {
4929
0
        flockfile(this->file);
4930
0
    }
4931
    void unlock()
4932
0
    {
4933
0
        funlockfile(this->file);
4934
0
    }
4935
4936
    static bool has_buffering()
4937
0
    {
4938
0
        return true;
4939
0
    }
4940
4941
    std::optional<char> read_one()
4942
0
    {
4943
0
        auto res = getc_unlocked(this->file);
4944
0
        if (res == EOF) {
4945
0
            return std::nullopt;
4946
0
        }
4947
0
        return static_cast<char>(res);
4948
0
    }
4949
4950
    void prepare_putback()
4951
0
    {
4952
0
        unlock();
4953
0
    }
4954
    void finalize_putback()
4955
0
    {
4956
0
        lock();
4957
0
    }
4958
4959
    bool putback(char ch)
4960
0
    {
4961
0
        return std::ungetc(static_cast<unsigned char>(ch), this->file) != EOF;
4962
0
    }
4963
};
4964
4965
template <typename File>
4966
struct stdio_file_interface_impl<File, gnu_file_tag>
4967
    : posix_stdio_file_interface<File> {
4968
    std::string_view buffer() const
4969
0
    {
4970
0
        return make_string_view_from_pointers(this->file->_IO_read_ptr,
4971
0
                                              this->file->_IO_read_end);
4972
0
    }
4973
    void unsafe_advance_n(std::ptrdiff_t n)
4974
0
    {
4975
0
        SCN_EXPECT(this->file->_IO_read_ptr != nullptr);
4976
0
        SCN_EXPECT(this->file->_IO_read_end - this->file->_IO_read_ptr >= n);
4977
0
        this->file->_IO_read_ptr += n;
4978
0
    }
4979
    void fill_buffer()
4980
0
    {
4981
0
        if (__uflow(this->file) != EOF) {
4982
0
            --this->file->_IO_read_ptr;
4983
0
        }
4984
0
    }
4985
};
4986
4987
template <typename File>
4988
struct stdio_file_interface_impl<File, bsd_file_tag>
4989
    : posix_stdio_file_interface<File> {
4990
    std::string_view buffer() const
4991
    {
4992
        return {reinterpret_cast<const char*>(this->file->_p),
4993
                static_cast<std::size_t>(this->file->_r)};
4994
    }
4995
    void unsafe_advance_n(std::ptrdiff_t n)
4996
    {
4997
        SCN_EXPECT(this->file->_p != nullptr);
4998
        SCN_EXPECT(this->file->_r >= n);
4999
        this->file->_p += n;
5000
        this->file->_r -= n;
5001
    }
5002
    void fill_buffer()
5003
    {
5004
        if (__srget(this->file) != EOF) {
5005
            --this->file->_p;
5006
            ++this->file->_r;
5007
        }
5008
    }
5009
};
5010
5011
template <typename File>
5012
struct stdio_file_interface_impl<File, musl_file_tag>
5013
    : posix_stdio_file_interface<File> {
5014
    std::string_view buffer() const
5015
    {
5016
        return make_string_view_from_pointers(
5017
            reinterpret_cast<const char*>(this->file->rpos),
5018
            reinterpret_cast<const char*>(this->file->rend));
5019
    }
5020
    void unsafe_advance_n(std::ptrdiff_t n)
5021
    {
5022
        SCN_EXPECT(this->file->rpos != nullptr);
5023
        SCN_EXPECT(this->file->rend - this->file->rpos >= n);
5024
        this->file->rpos += n;
5025
    }
5026
    void fill_buffer()
5027
    {
5028
        if (__uflow(this->file) != EOF) {
5029
            --this->file->rpos;
5030
        }
5031
    }
5032
};
5033
5034
template <typename File>
5035
struct stdio_file_interface_impl<File, win32_file_tag>
5036
    : stdio_file_interface_base<File> {
5037
    void lock()
5038
    {
5039
        _lock_file(this->file);
5040
    }
5041
    void unlock()
5042
    {
5043
        _unlock_file(this->file);
5044
    }
5045
5046
    static bool has_buffering()
5047
    {
5048
        return false;
5049
    }
5050
5051
    std::string_view buffer() const
5052
    {
5053
        return {};
5054
    }
5055
    void unsafe_advance_n(std::ptrdiff_t n)
5056
    {
5057
        SCN_EXPECT(false);
5058
        SCN_UNREACHABLE;
5059
    }
5060
    void fill_buffer()
5061
    {
5062
        SCN_EXPECT(false);
5063
        SCN_UNREACHABLE;
5064
    }
5065
5066
    std::optional<char> read_one()
5067
    {
5068
        auto res = _fgetc_nolock(this->file);
5069
        if (res == EOF) {
5070
            return std::nullopt;
5071
        }
5072
        return static_cast<char>(res);
5073
    }
5074
5075
    void prepare_putback() {}
5076
    void finalize_putback() {}
5077
5078
    bool putback(char ch)
5079
    {
5080
        return _ungetc_nolock(static_cast<unsigned char>(ch), this->file) !=
5081
               EOF;
5082
    }
5083
};
5084
5085
using stdio_file_interface =
5086
    stdio_file_interface_impl<std::FILE, decltype(get_file_tag())::type>;
5087
5088
template <typename FileInterface>
5089
class basic_scan_file_buffer : public basic_scan_buffer<char> {
5090
    using base = basic_scan_buffer<char>;
5091
5092
public:
5093
    explicit basic_scan_file_buffer(FileInterface file);
5094
    ~basic_scan_file_buffer();
5095
5096
    bool fill() override;
5097
5098
    bool sync(std::ptrdiff_t position) override;
5099
5100
private:
5101
    FileInterface m_file;
5102
    std::optional<char_type> m_latest{std::nullopt};
5103
};
5104
5105
struct scan_file_buffer : public basic_scan_file_buffer<stdio_file_interface> {
5106
    explicit scan_file_buffer(std::FILE* file)
5107
0
        : basic_scan_file_buffer(stdio_file_interface{file})
5108
0
    {
5109
0
    }
5110
};
5111
5112
extern template basic_scan_file_buffer<
5113
    stdio_file_interface>::basic_scan_file_buffer(stdio_file_interface);
5114
extern template basic_scan_file_buffer<
5115
    stdio_file_interface>::~basic_scan_file_buffer();
5116
extern template bool basic_scan_file_buffer<stdio_file_interface>::fill();
5117
extern template bool basic_scan_file_buffer<stdio_file_interface>::sync(
5118
    std::ptrdiff_t);
5119
5120
template <typename CharT>
5121
class basic_scan_ref_buffer : public basic_scan_buffer<CharT> {
5122
    using base = basic_scan_buffer<CharT>;
5123
5124
public:
5125
    basic_scan_ref_buffer(base& other, std::ptrdiff_t starting_pos)
5126
0
        : base(other.is_contiguous(), std::basic_string_view<CharT>{}),
5127
0
          m_other(&other),
5128
0
          m_starting_pos(starting_pos)
5129
0
    {
5130
0
        this->m_current_view = other.get_segment_starting_at(starting_pos);
5131
0
        m_fill_needs_to_propagate = other.get_segment_starting_at(0).end() ==
5132
0
                                    this->m_current_view.end();
5133
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_ref_buffer<char>::basic_scan_ref_buffer(scn::v4::detail::basic_scan_buffer<char>&, long)
Unexecuted instantiation: scn::v4::detail::basic_scan_ref_buffer<wchar_t>::basic_scan_ref_buffer(scn::v4::detail::basic_scan_buffer<wchar_t>&, long)
5134
5135
    basic_scan_ref_buffer(std::basic_string_view<CharT> view)
5136
0
        : base(true, view), m_other(nullptr)
5137
0
    {
5138
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_ref_buffer<char>::basic_scan_ref_buffer(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Unexecuted instantiation: scn::v4::detail::basic_scan_ref_buffer<wchar_t>::basic_scan_ref_buffer(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
5139
5140
    bool fill() override
5141
0
    {
5142
0
        if (!m_other) {
5143
0
            return false;
5144
0
        }
5145
0
        SCN_EXPECT(m_starting_pos >= 0);
5146
5147
0
        if (m_fill_needs_to_propagate) {
5148
0
            auto ret = m_other->fill();
5149
0
            this->m_current_view = m_other->current_view();
5150
0
            this->m_putback_buffer =
5151
0
                m_other->putback_buffer().substr(m_starting_pos);
5152
0
            return ret;
5153
0
        }
5154
5155
0
        m_fill_needs_to_propagate = true;
5156
0
        this->m_putback_buffer = std::basic_string<CharT>{this->m_current_view};
5157
0
        this->m_current_view = m_other->current_view();
5158
0
        return true;
5159
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_ref_buffer<char>::fill()
Unexecuted instantiation: scn::v4::detail::basic_scan_ref_buffer<wchar_t>::fill()
5160
5161
private:
5162
    base* m_other;
5163
    std::ptrdiff_t m_starting_pos{-1};
5164
    bool m_fill_needs_to_propagate{false};
5165
};
5166
5167
template <typename CharT>
5168
basic_scan_ref_buffer(basic_scan_buffer<CharT>&, std::ptrdiff_t)
5169
    -> basic_scan_ref_buffer<CharT>;
5170
5171
template <typename CharT>
5172
basic_scan_ref_buffer(std::basic_string_view<CharT>)
5173
    -> basic_scan_ref_buffer<CharT>;
5174
5175
template <typename Range>
5176
auto make_string_scan_buffer(const Range& range)
5177
{
5178
    return basic_scan_string_buffer(
5179
        std::basic_string_view{ranges::data(range), ranges::size(range)});
5180
}
5181
5182
template <typename Range>
5183
auto make_forward_scan_buffer(const Range& range)
5184
{
5185
    return basic_scan_forward_buffer_impl(range);
5186
}
5187
5188
inline auto make_file_scan_buffer(std::FILE* file)
5189
0
{
5190
0
    return scan_file_buffer(file);
5191
0
}
5192
}  // namespace detail
5193
5194
/////////////////////////////////////////////////////////////////
5195
// make_scan_buffer
5196
/////////////////////////////////////////////////////////////////
5197
5198
/**
5199
 * \defgroup scannable Scannable sources
5200
 *
5201
 * \brief Description of the `scannable_range` and `scannable_source`
5202
 * concepts.
5203
 *
5204
 * A range is considered scannable, if it models at least `forward_range`,
5205
 * and its character type is correct (its value type is the same as the one
5206
 * of the format string).
5207
 * If the range additionally models `contiguous_range` and `sized_range`,
5208
 * additional optimizations are enabled.
5209
 *
5210
 * \code{.cpp}
5211
 * // Exposition only
5212
 * template <typename Range, typename CharT>
5213
 * concept scannable_range =
5214
 *     ranges::forward_range<Range> &&
5215
 *     std::same_as<ranges::range_value_t<Range>, CharT>;
5216
 * \endcode
5217
 *
5218
 * Additionally, files (`std::FILE*`) can be scanned from.
5219
 * Files are always considered to be narrow (`char`-oriented).
5220
 * Thus, the entire concept is:
5221
 *
5222
 * \code{.cpp}
5223
 * // Exposition only
5224
 * template <typename Source, typename CharT>
5225
 * concept scannable_source =
5226
 *   (std::same_as<std::remove_cvref_t<Source>, std::FILE*> &&
5227
 *    std::same_as<CharT, char>) ||
5228
 *   scannable_range<Source, CharT>;
5229
 * \endcode
5230
 */
5231
5232
/**
5233
 * Tag type to indicate an invalid range given to `scn::scan`
5234
 *
5235
 * \ingroup scannable
5236
 */
5237
struct invalid_input_range {};
5238
5239
struct invalid_char_type : invalid_input_range {};
5240
struct custom_char_traits : invalid_input_range {};
5241
struct file_marker_found : invalid_input_range {};
5242
struct insufficient_range : invalid_input_range {};
5243
5244
namespace detail {
5245
template <typename CharT>
5246
inline constexpr bool is_valid_char_type =
5247
    std::is_same_v<std::remove_const_t<CharT>, char> ||
5248
    std::is_same_v<std::remove_const_t<CharT>, wchar_t>;
5249
5250
namespace _make_scan_buffer {
5251
// buffer -> ref_buffer
5252
inline auto impl(scan_buffer::range_type r, priority_tag<4>) noexcept
5253
    -> basic_scan_ref_buffer<char>
5254
0
{
5255
0
    if (!r.begin().stores_parent()) {
5256
0
        return basic_scan_ref_buffer{r.begin().contiguous_segment()};
5257
0
    }
5258
0
    return basic_scan_ref_buffer{*r.begin().parent(), r.begin().position()};
5259
0
}
5260
inline auto impl(wscan_buffer::range_type r, priority_tag<4>) noexcept
5261
    -> basic_scan_ref_buffer<wchar_t>
5262
0
{
5263
0
    if (!r.begin().stores_parent()) {
5264
0
        return basic_scan_ref_buffer{r.begin().contiguous_segment()};
5265
0
    }
5266
0
    return basic_scan_ref_buffer{*r.begin().parent(), r.begin().position()};
5267
0
}
5268
5269
// string_view -> string_buffer
5270
template <typename CharT>
5271
auto impl(std::basic_string_view<CharT> r, priority_tag<3>) noexcept
5272
151k
{
5273
151k
    if constexpr (is_valid_char_type<CharT>) {
5274
151k
        return r;
5275
        // return make_string_scan_buffer(r);
5276
    }
5277
    else {
5278
        return invalid_char_type{};
5279
    }
5280
151k
}
auto scn::v4::detail::_make_scan_buffer::impl<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, scn::v4::detail::priority_tag<3ul>)
Line
Count
Source
5272
50.6k
{
5273
50.6k
    if constexpr (is_valid_char_type<CharT>) {
5274
50.6k
        return r;
5275
        // return make_string_scan_buffer(r);
5276
    }
5277
    else {
5278
        return invalid_char_type{};
5279
    }
5280
50.6k
}
auto scn::v4::detail::_make_scan_buffer::impl<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, scn::v4::detail::priority_tag<3ul>)
Line
Count
Source
5272
101k
{
5273
101k
    if constexpr (is_valid_char_type<CharT>) {
5274
101k
        return r;
5275
        // return make_string_scan_buffer(r);
5276
    }
5277
    else {
5278
        return invalid_char_type{};
5279
    }
5280
101k
}
5281
5282
// string& -> string_buffer
5283
template <typename CharT, typename Traits, typename Allocator>
5284
auto impl(const std::basic_string<CharT, Traits, Allocator>& r,
5285
          priority_tag<3>) noexcept
5286
0
{
5287
    if constexpr (!is_valid_char_type<CharT>) {
5288
        return invalid_char_type{};
5289
    }
5290
    else if constexpr (!std::is_same_v<Traits, std::char_traits<CharT>>) {
5291
        return custom_char_traits{};
5292
    }
5293
0
    else {
5294
0
        return std::basic_string_view<CharT>{r};
5295
0
    }
5296
0
}
5297
5298
// String literals:
5299
// CharT(&)[] -> string_buffer
5300
template <typename CharT,
5301
          std::size_t N,
5302
          std::enable_if_t<is_valid_char_type<CharT>>* = nullptr>
5303
auto impl(const CharT (&r)[N], priority_tag<3>) noexcept
5304
{
5305
    return std::basic_string_view<CharT>{r, N - 1};
5306
}
5307
5308
// FILE* -> file_buffer
5309
inline auto impl(std::FILE* file, priority_tag<3>)
5310
0
{
5311
0
    return make_file_scan_buffer(file);
5312
0
}
5313
5314
// contiguous + sized -> string_buffer
5315
template <typename Range,
5316
          std::enable_if_t<ranges::contiguous_range<Range> &&
5317
                           ranges::sized_range<Range>>* = nullptr>
5318
auto impl(const Range& r, priority_tag<2>)
5319
0
{
5320
0
    if constexpr (is_valid_char_type<detail::char_t<Range>>) {
5321
0
        return std::basic_string_view{ranges::data(r), ranges::size(r)};
5322
    }
5323
    else {
5324
        return invalid_char_type{};
5325
    }
5326
0
}
Unexecuted instantiation: _ZN3scn2v46detail17_make_scan_buffer4implINS0_6ranges6detail9subrange_8subrangeIPKcS9_EETnPNSt3__19enable_ifIXaasr6rangesE16contiguous_rangeIT_Esr6rangesE11sized_rangeISD_EEvE4typeELPv0EEEDaRKSD_NS1_12priority_tagILm2EEE
Unexecuted instantiation: _ZN3scn2v46detail17_make_scan_buffer4implINS0_6ranges6detail9subrange_8subrangeIPKwS9_EETnPNSt3__19enable_ifIXaasr6rangesE16contiguous_rangeIT_Esr6rangesE11sized_rangeISD_EEvE4typeELPv0EEEDaRKSD_NS1_12priority_tagILm2EEE
5327
5328
// !contiguous + random-access + iterator can be made into a ptr
5329
// for MSVC debug iterators
5330
//   -> string_buffer
5331
template <typename Range,
5332
          std::enable_if_t<!ranges::contiguous_range<Range> &&
5333
                           ranges::random_access_range<Range> &&
5334
                           can_make_address_from_iterator<
5335
                               ranges::iterator_t<Range>>>* = nullptr>
5336
auto impl(const Range& r, priority_tag<1>)
5337
{
5338
    if constexpr (is_valid_char_type<detail::char_t<Range>>) {
5339
        return make_string_view_from_pointers(to_address(ranges::begin(r)),
5340
                                              to_address(ranges::end(r)));
5341
    }
5342
    else {
5343
        return invalid_char_type{};
5344
    }
5345
}
5346
5347
// forward -> forward_buffer<R>
5348
template <typename Range>
5349
auto impl(const Range& r, priority_tag<0>)
5350
{
5351
    if constexpr (std::is_same_v<Range, file_marker>) {
5352
        return file_marker_found{};
5353
    }
5354
    else if constexpr (!ranges::forward_range<Range>) {
5355
        if constexpr (ranges::range<Range>) {
5356
            return insufficient_range{};
5357
        }
5358
        else {
5359
            return invalid_input_range{};
5360
        }
5361
    }
5362
    else if constexpr (!is_valid_char_type<detail::char_t<Range>>) {
5363
        return invalid_char_type{};
5364
    }
5365
    else {
5366
        return make_forward_scan_buffer(r);
5367
    }
5368
}
5369
}  // namespace _make_scan_buffer
5370
5371
template <typename Range>
5372
inline constexpr bool is_scannable_range =
5373
    !std::is_base_of_v<invalid_input_range,
5374
                       decltype(_make_scan_buffer::impl(
5375
                                    SCN_DECLVAL(const Range&)),
5376
                                priority_tag<4>{})>;
5377
5378
template <typename Range>
5379
auto make_scan_buffer(const Range& range)
5380
151k
{
5381
151k
    using T = decltype(_make_scan_buffer::impl(range, priority_tag<4>{}));
5382
5383
151k
    static_assert(!std::is_same_v<T, invalid_char_type>,
5384
151k
                  "\n"
5385
151k
                  "Unsupported range type given as input to a scanning "
5386
151k
                  "function.\n"
5387
151k
                  "A range needs to have a character type (value type) "
5388
151k
                  "of either `char` or `wchar_t` to be scannable.\n"
5389
151k
                  "For proper `wchar_t` support, <scn/xchar.h> needs "
5390
151k
                  "to be included.\n"
5391
151k
                  "See the scnlib documentation for more details.");
5392
151k
    static_assert(
5393
151k
        !std::is_same_v<T, custom_char_traits>,
5394
151k
        "\n"
5395
151k
        "Unsupported range type given as input to a scanning "
5396
151k
        "function.\n"
5397
151k
        "String types (std::basic_string, and std::basic_string_view) "
5398
151k
        "need to use std::char_traits. Strings with custom Traits are "
5399
151k
        "not supported.");
5400
151k
    static_assert(!std::is_same_v<T, file_marker_found>,
5401
151k
                  "\n"
5402
151k
                  "Unsupported range type given as input to a scanning "
5403
151k
                  "function.\n"
5404
151k
                  "file_marker_found cannot be used as an "
5405
151k
                  "source range type to scn::scan.\n"
5406
151k
                  "To read from stdin, use scn::input or scn::prompt, "
5407
151k
                  "and do not provide an explicit source range, "
5408
151k
                  "or use scn::scan with a FILE* directly.");
5409
151k
    static_assert(!std::is_same_v<T, insufficient_range>,
5410
151k
                  "\n"
5411
151k
                  "Unsupported range type given as input to a scanning "
5412
151k
                  "function.\n"
5413
151k
                  "In order to be scannable, a range needs to satisfy "
5414
151k
                  "`forward_range`. `input_range` is not sufficient.");
5415
151k
    static_assert(!std::is_same_v<T, invalid_input_range>,
5416
151k
                  "\n"
5417
151k
                  "Unsupported range type given as input to a scanning "
5418
151k
                  "function.\n"
5419
151k
                  "A range needs to model forward_range and have a valid "
5420
151k
                  "character type (char or wchar_t) to be scannable.\n"
5421
151k
                  "Examples of scannable ranges are std::string, "
5422
151k
                  "std::string_view, "
5423
151k
                  "std::vector<char>, and scn::istreambuf_view.\n"
5424
151k
                  "See the scnlib documentation for more details.");
5425
5426
151k
    return _make_scan_buffer::impl(range, priority_tag<4>{});
5427
151k
}
auto scn::v4::detail::make_scan_buffer<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> > const&)
Line
Count
Source
5380
50.6k
{
5381
50.6k
    using T = decltype(_make_scan_buffer::impl(range, priority_tag<4>{}));
5382
5383
50.6k
    static_assert(!std::is_same_v<T, invalid_char_type>,
5384
50.6k
                  "\n"
5385
50.6k
                  "Unsupported range type given as input to a scanning "
5386
50.6k
                  "function.\n"
5387
50.6k
                  "A range needs to have a character type (value type) "
5388
50.6k
                  "of either `char` or `wchar_t` to be scannable.\n"
5389
50.6k
                  "For proper `wchar_t` support, <scn/xchar.h> needs "
5390
50.6k
                  "to be included.\n"
5391
50.6k
                  "See the scnlib documentation for more details.");
5392
50.6k
    static_assert(
5393
50.6k
        !std::is_same_v<T, custom_char_traits>,
5394
50.6k
        "\n"
5395
50.6k
        "Unsupported range type given as input to a scanning "
5396
50.6k
        "function.\n"
5397
50.6k
        "String types (std::basic_string, and std::basic_string_view) "
5398
50.6k
        "need to use std::char_traits. Strings with custom Traits are "
5399
50.6k
        "not supported.");
5400
50.6k
    static_assert(!std::is_same_v<T, file_marker_found>,
5401
50.6k
                  "\n"
5402
50.6k
                  "Unsupported range type given as input to a scanning "
5403
50.6k
                  "function.\n"
5404
50.6k
                  "file_marker_found cannot be used as an "
5405
50.6k
                  "source range type to scn::scan.\n"
5406
50.6k
                  "To read from stdin, use scn::input or scn::prompt, "
5407
50.6k
                  "and do not provide an explicit source range, "
5408
50.6k
                  "or use scn::scan with a FILE* directly.");
5409
50.6k
    static_assert(!std::is_same_v<T, insufficient_range>,
5410
50.6k
                  "\n"
5411
50.6k
                  "Unsupported range type given as input to a scanning "
5412
50.6k
                  "function.\n"
5413
50.6k
                  "In order to be scannable, a range needs to satisfy "
5414
50.6k
                  "`forward_range`. `input_range` is not sufficient.");
5415
50.6k
    static_assert(!std::is_same_v<T, invalid_input_range>,
5416
50.6k
                  "\n"
5417
50.6k
                  "Unsupported range type given as input to a scanning "
5418
50.6k
                  "function.\n"
5419
50.6k
                  "A range needs to model forward_range and have a valid "
5420
50.6k
                  "character type (char or wchar_t) to be scannable.\n"
5421
50.6k
                  "Examples of scannable ranges are std::string, "
5422
50.6k
                  "std::string_view, "
5423
50.6k
                  "std::vector<char>, and scn::istreambuf_view.\n"
5424
50.6k
                  "See the scnlib documentation for more details.");
5425
5426
50.6k
    return _make_scan_buffer::impl(range, priority_tag<4>{});
5427
50.6k
}
auto scn::v4::detail::make_scan_buffer<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > const&)
Line
Count
Source
5380
101k
{
5381
101k
    using T = decltype(_make_scan_buffer::impl(range, priority_tag<4>{}));
5382
5383
101k
    static_assert(!std::is_same_v<T, invalid_char_type>,
5384
101k
                  "\n"
5385
101k
                  "Unsupported range type given as input to a scanning "
5386
101k
                  "function.\n"
5387
101k
                  "A range needs to have a character type (value type) "
5388
101k
                  "of either `char` or `wchar_t` to be scannable.\n"
5389
101k
                  "For proper `wchar_t` support, <scn/xchar.h> needs "
5390
101k
                  "to be included.\n"
5391
101k
                  "See the scnlib documentation for more details.");
5392
101k
    static_assert(
5393
101k
        !std::is_same_v<T, custom_char_traits>,
5394
101k
        "\n"
5395
101k
        "Unsupported range type given as input to a scanning "
5396
101k
        "function.\n"
5397
101k
        "String types (std::basic_string, and std::basic_string_view) "
5398
101k
        "need to use std::char_traits. Strings with custom Traits are "
5399
101k
        "not supported.");
5400
101k
    static_assert(!std::is_same_v<T, file_marker_found>,
5401
101k
                  "\n"
5402
101k
                  "Unsupported range type given as input to a scanning "
5403
101k
                  "function.\n"
5404
101k
                  "file_marker_found cannot be used as an "
5405
101k
                  "source range type to scn::scan.\n"
5406
101k
                  "To read from stdin, use scn::input or scn::prompt, "
5407
101k
                  "and do not provide an explicit source range, "
5408
101k
                  "or use scn::scan with a FILE* directly.");
5409
101k
    static_assert(!std::is_same_v<T, insufficient_range>,
5410
101k
                  "\n"
5411
101k
                  "Unsupported range type given as input to a scanning "
5412
101k
                  "function.\n"
5413
101k
                  "In order to be scannable, a range needs to satisfy "
5414
101k
                  "`forward_range`. `input_range` is not sufficient.");
5415
101k
    static_assert(!std::is_same_v<T, invalid_input_range>,
5416
101k
                  "\n"
5417
101k
                  "Unsupported range type given as input to a scanning "
5418
101k
                  "function.\n"
5419
101k
                  "A range needs to model forward_range and have a valid "
5420
101k
                  "character type (char or wchar_t) to be scannable.\n"
5421
101k
                  "Examples of scannable ranges are std::string, "
5422
101k
                  "std::string_view, "
5423
101k
                  "std::vector<char>, and scn::istreambuf_view.\n"
5424
101k
                  "See the scnlib documentation for more details.");
5425
5426
101k
    return _make_scan_buffer::impl(range, priority_tag<4>{});
5427
101k
}
Unexecuted instantiation: auto scn::v4::detail::make_scan_buffer<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&)
Unexecuted instantiation: auto scn::v4::detail::make_scan_buffer<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: auto scn::v4::detail::make_scan_buffer<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> const&)
Unexecuted instantiation: auto scn::v4::detail::make_scan_buffer<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&)
Unexecuted instantiation: auto scn::v4::detail::make_scan_buffer<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&)
5428
5429
template <
5430
    typename Range,
5431
    std::enable_if_t<
5432
        !std::is_reference_v<Range> && !ranges::borrowed_range<Range> &&
5433
        !std::is_same_v<std::FILE*, std::remove_reference_t<Range>>>* = nullptr>
5434
auto make_scan_buffer(Range&&) = delete;
5435
}  // namespace detail
5436
5437
/////////////////////////////////////////////////////////////////
5438
// Argument type erasure
5439
/////////////////////////////////////////////////////////////////
5440
5441
namespace detail {
5442
enum class arg_type : unsigned char {
5443
    none_type,
5444
    schar_type,
5445
    short_type,
5446
    int_type,
5447
    long_type,
5448
    llong_type,
5449
    uchar_type,
5450
    ushort_type,
5451
    uint_type,
5452
    ulong_type,
5453
    ullong_type,
5454
    bool_type,
5455
    narrow_character_type,
5456
    wide_character_type,
5457
    code_point_type,
5458
    pointer_type,
5459
    float_type,
5460
    double_type,
5461
    ldouble_type,
5462
    narrow_string_view_type,
5463
    wide_string_view_type,
5464
    narrow_string_type,
5465
    wide_string_type,
5466
    narrow_regex_matches_type,
5467
    wide_regex_matches_type,
5468
    custom_type,
5469
    last_type = custom_type
5470
};
5471
5472
template <typename>
5473
inline constexpr bool is_type_disabled = SCN_DISABLE_TYPE_CUSTOM;
5474
5475
template <typename T, typename CharT>
5476
struct arg_type_constant
5477
    : std::integral_constant<arg_type, arg_type::custom_type> {
5478
    using type = T;
5479
};
5480
5481
#define SCN_TYPE_CONSTANT(Type, C, Disabled)              \
5482
    template <typename CharT>                             \
5483
    struct arg_type_constant<Type, CharT>                 \
5484
        : std::integral_constant<arg_type, arg_type::C> { \
5485
        using type = Type;                                \
5486
    };                                                    \
5487
    template <>                                           \
5488
    inline constexpr bool is_type_disabled<Type> = Disabled
5489
5490
SCN_TYPE_CONSTANT(signed char, schar_type, SCN_DISABLE_TYPE_SCHAR);
5491
SCN_TYPE_CONSTANT(short, short_type, SCN_DISABLE_TYPE_SHORT);
5492
SCN_TYPE_CONSTANT(int, int_type, SCN_DISABLE_TYPE_INT);
5493
SCN_TYPE_CONSTANT(long, long_type, SCN_DISABLE_TYPE_LONG);
5494
SCN_TYPE_CONSTANT(long long, llong_type, SCN_DISABLE_TYPE_LONG_LONG);
5495
SCN_TYPE_CONSTANT(unsigned char, uchar_type, SCN_DISABLE_TYPE_UCHAR);
5496
SCN_TYPE_CONSTANT(unsigned short, ushort_type, SCN_DISABLE_TYPE_USHORT);
5497
SCN_TYPE_CONSTANT(unsigned int, uint_type, SCN_DISABLE_TYPE_UINT);
5498
SCN_TYPE_CONSTANT(unsigned long, ulong_type, SCN_DISABLE_TYPE_ULONG);
5499
SCN_TYPE_CONSTANT(unsigned long long, ullong_type, SCN_DISABLE_TYPE_ULONG_LONG);
5500
SCN_TYPE_CONSTANT(bool, bool_type, SCN_DISABLE_TYPE_BOOL);
5501
SCN_TYPE_CONSTANT(char, narrow_character_type, SCN_DISABLE_TYPE_CHAR);
5502
SCN_TYPE_CONSTANT(wchar_t, wide_character_type, SCN_DISABLE_TYPE_CHAR);
5503
SCN_TYPE_CONSTANT(char32_t, code_point_type, SCN_DISABLE_TYPE_CHAR32);
5504
SCN_TYPE_CONSTANT(void*, pointer_type, SCN_DISABLE_TYPE_POINTER);
5505
SCN_TYPE_CONSTANT(const void*, pointer_type, SCN_DISABLE_TYPE_POINTER);
5506
SCN_TYPE_CONSTANT(float, float_type, SCN_DISABLE_TYPE_FLOAT);
5507
SCN_TYPE_CONSTANT(double, double_type, SCN_DISABLE_TYPE_DOUBLE);
5508
SCN_TYPE_CONSTANT(long double, ldouble_type, SCN_DISABLE_TYPE_LONG_DOUBLE);
5509
SCN_TYPE_CONSTANT(std::string_view,
5510
                  narrow_string_view_type,
5511
                  SCN_DISABLE_TYPE_STRING_VIEW);
5512
SCN_TYPE_CONSTANT(std::wstring_view,
5513
                  wide_string_view_type,
5514
                  SCN_DISABLE_TYPE_STRING_VIEW);
5515
SCN_TYPE_CONSTANT(std::string, narrow_string_type, SCN_DISABLE_TYPE_STRING);
5516
SCN_TYPE_CONSTANT(std::wstring, wide_string_type, SCN_DISABLE_TYPE_STRING);
5517
SCN_TYPE_CONSTANT(regex_matches, narrow_regex_matches_type, SCN_DISABLE_REGEX);
5518
SCN_TYPE_CONSTANT(wregex_matches, wide_regex_matches_type, SCN_DISABLE_REGEX);
5519
5520
#undef SCN_TYPE_CONSTANT
5521
5522
struct custom_value_type {
5523
    void* value;
5524
    auto (*scan)(void* arg, void* pctx, void* ctx) -> scan_expected<void>;
5525
};
5526
5527
struct unscannable {};
5528
struct unscannable_char : unscannable {};
5529
struct unscannable_const : unscannable {};
5530
struct unscannable_disabled : unscannable {
5531
    unscannable_disabled() = default;
5532
5533
    template <typename T>
5534
    constexpr unscannable_disabled(T&&)
5535
    {
5536
    }
5537
};
5538
5539
struct needs_context_tag {};
5540
5541
template <typename Context>
5542
struct context_tag {
5543
    using type = Context;
5544
};
5545
5546
template <typename T, typename Context>
5547
struct custom_wrapper {
5548
    using context_type = Context;
5549
    T& val;
5550
};
5551
5552
class arg_value {
5553
public:
5554
    // trivial default initialization in constexpr
5555
#if defined(__cpp_constexpr) && __cpp_constexpr >= 201907L && \
5556
    SCN_STD > SCN_STD_20
5557
    constexpr
5558
#endif
5559
49.4k
    arg_value() = default;
5560
5561
    template <typename T>
5562
151k
    explicit constexpr arg_value(T& val) : ref_value{std::addressof(val)}
5563
151k
    {
5564
151k
    }
scn::v4::detail::arg_value::arg_value<char>(char&)
Line
Count
Source
5562
5.62k
    explicit constexpr arg_value(T& val) : ref_value{std::addressof(val)}
5563
5.62k
    {
5564
5.62k
    }
scn::v4::detail::arg_value::arg_value<int>(int&)
Line
Count
Source
5562
16.8k
    explicit constexpr arg_value(T& val) : ref_value{std::addressof(val)}
5563
16.8k
    {
5564
16.8k
    }
scn::v4::detail::arg_value::arg_value<unsigned int>(unsigned int&)
Line
Count
Source
5562
16.8k
    explicit constexpr arg_value(T& val) : ref_value{std::addressof(val)}
5563
16.8k
    {
5564
16.8k
    }
scn::v4::detail::arg_value::arg_value<double>(double&)
Line
Count
Source
5562
16.8k
    explicit constexpr arg_value(T& val) : ref_value{std::addressof(val)}
5563
16.8k
    {
5564
16.8k
    }
scn::v4::detail::arg_value::arg_value<bool>(bool&)
Line
Count
Source
5562
16.8k
    explicit constexpr arg_value(T& val) : ref_value{std::addressof(val)}
5563
16.8k
    {
5564
16.8k
    }
scn::v4::detail::arg_value::arg_value<void*>(void*&)
Line
Count
Source
5562
16.8k
    explicit constexpr arg_value(T& val) : ref_value{std::addressof(val)}
5563
16.8k
    {
5564
16.8k
    }
scn::v4::detail::arg_value::arg_value<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
5562
16.8k
    explicit constexpr arg_value(T& val) : ref_value{std::addressof(val)}
5563
16.8k
    {
5564
16.8k
    }
scn::v4::detail::arg_value::arg_value<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
5562
16.8k
    explicit constexpr arg_value(T& val) : ref_value{std::addressof(val)}
5563
16.8k
    {
5564
16.8k
    }
scn::v4::detail::arg_value::arg_value<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Line
Count
Source
5562
5.62k
    explicit constexpr arg_value(T& val) : ref_value{std::addressof(val)}
5563
5.62k
    {
5564
5.62k
    }
scn::v4::detail::arg_value::arg_value<wchar_t>(wchar_t&)
Line
Count
Source
5562
11.2k
    explicit constexpr arg_value(T& val) : ref_value{std::addressof(val)}
5563
11.2k
    {
5564
11.2k
    }
scn::v4::detail::arg_value::arg_value<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
Line
Count
Source
5562
11.2k
    explicit constexpr arg_value(T& val) : ref_value{std::addressof(val)}
5563
11.2k
    {
5564
11.2k
    }
5565
5566
    template <typename T, typename Context>
5567
    explicit constexpr arg_value(custom_wrapper<T, Context> val)
5568
        : custom_value{static_cast<void*>(&val.val),
5569
                       scan_custom_arg<T, Context>}
5570
    {
5571
    }
5572
5573
    arg_value(unscannable);
5574
    arg_value(unscannable_char);
5575
    arg_value(unscannable_const);
5576
    arg_value(unscannable_disabled);
5577
5578
    union {
5579
        void* ref_value{nullptr};
5580
        custom_value_type custom_value;
5581
    };
5582
5583
private:
5584
    template <typename T, typename Context>
5585
    static scan_expected<void> scan_custom_arg(void* arg, void* pctx, void* ctx)
5586
    {
5587
        static_assert(!is_type_disabled<T>,
5588
                      "Scanning of custom types is disabled by "
5589
                      "SCN_DISABLE_TYPE_CUSTOM");
5590
        SCN_EXPECT(arg && pctx && ctx);
5591
5592
        using context_type = Context;
5593
        using parse_context_type = typename context_type::parse_context_type;
5594
        using scanner_type = typename context_type::template scanner_type<T>;
5595
5596
        auto s = scanner_type{};
5597
5598
        auto& arg_ref = *static_cast<T*>(arg);
5599
        auto& pctx_ref = *static_cast<parse_context_type*>(pctx);
5600
        auto& ctx_ref = *static_cast<context_type*>(ctx);
5601
5602
#if SCN_HAS_EXCEPTIONS
5603
        auto fmt_it = pctx_ref.begin();
5604
        try {
5605
            fmt_it = s.parse(pctx_ref);
5606
        }
5607
        catch (const detail::scan_format_string_error_base& ex) {
5608
            // scan_error takes a const char*.
5609
            // scan_format_string_error (or, actually, std::runtime_error)
5610
            // stores a reference-counted string,
5611
            // that will go out of scope here.
5612
            // We need to provide a const char* that will stay in scope.
5613
            // If scan_format_string_error was thrown with a string literal,
5614
            // use that, otherwise refer to a thread_local std::string
5615
            if (const char* m = get_internal_literal_msg(ex)) {
5616
                return unexpected_scan_error(scan_error::invalid_format_string,
5617
                                             m);
5618
            }
5619
            thread_local std::string err_msg{};
5620
            err_msg = ex.what();
5621
            return unexpected_scan_error(scan_error::invalid_format_string,
5622
                                         err_msg.c_str());
5623
        }
5624
#else
5625
        auto fmt_it = s.parse(pctx_ref);
5626
#endif
5627
        if (auto e = pctx_ref.get_error(); SCN_UNLIKELY(!e)) {
5628
            return e;
5629
        }
5630
        pctx_ref.advance_to(fmt_it);
5631
5632
        SCN_TRY(it, s.scan(arg_ref, ctx_ref));
5633
        ctx_ref.advance_to(SCN_MOVE(it));
5634
5635
        return {};
5636
    }
5637
};
5638
5639
template <typename CharT>
5640
struct arg_mapper {
5641
    using char_type = CharT;
5642
    using other_char_type =
5643
        std::conditional_t<std::is_same_v<char_type, char>, wchar_t, char>;
5644
5645
#define SCN_ARG_MAPPER(T)                                                    \
5646
    static auto map(T& val)                                                  \
5647
        -> std::conditional_t<is_type_disabled<T>, unscannable_disabled, T&> \
5648
146k
    {                                                                        \
5649
146k
        return val;                                                          \
5650
146k
    }
scn::v4::detail::arg_mapper<char>::map(int&)
Line
Count
Source
5648
5.62k
    {                                                                        \
5649
5.62k
        return val;                                                          \
5650
5.62k
    }
scn::v4::detail::arg_mapper<char>::map(unsigned int&)
Line
Count
Source
5648
5.62k
    {                                                                        \
5649
5.62k
        return val;                                                          \
5650
5.62k
    }
scn::v4::detail::arg_mapper<char>::map(double&)
Line
Count
Source
5648
5.62k
    {                                                                        \
5649
5.62k
        return val;                                                          \
5650
5.62k
    }
scn::v4::detail::arg_mapper<char>::map(bool&)
Line
Count
Source
5648
5.62k
    {                                                                        \
5649
5.62k
        return val;                                                          \
5650
5.62k
    }
scn::v4::detail::arg_mapper<char>::map(void*&)
Line
Count
Source
5648
5.62k
    {                                                                        \
5649
5.62k
        return val;                                                          \
5650
5.62k
    }
scn::v4::detail::arg_mapper<char>::map(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
5648
5.62k
    {                                                                        \
5649
5.62k
        return val;                                                          \
5650
5.62k
    }
scn::v4::detail::arg_mapper<char>::map(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
5648
5.62k
    {                                                                        \
5649
5.62k
        return val;                                                          \
5650
5.62k
    }
scn::v4::detail::arg_mapper<char>::map(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Line
Count
Source
5648
5.62k
    {                                                                        \
5649
5.62k
        return val;                                                          \
5650
5.62k
    }
scn::v4::detail::arg_mapper<wchar_t>::map(wchar_t&)
Line
Count
Source
5648
11.2k
    {                                                                        \
5649
11.2k
        return val;                                                          \
5650
11.2k
    }
scn::v4::detail::arg_mapper<wchar_t>::map(int&)
Line
Count
Source
5648
11.2k
    {                                                                        \
5649
11.2k
        return val;                                                          \
5650
11.2k
    }
scn::v4::detail::arg_mapper<wchar_t>::map(unsigned int&)
Line
Count
Source
5648
11.2k
    {                                                                        \
5649
11.2k
        return val;                                                          \
5650
11.2k
    }
scn::v4::detail::arg_mapper<wchar_t>::map(double&)
Line
Count
Source
5648
11.2k
    {                                                                        \
5649
11.2k
        return val;                                                          \
5650
11.2k
    }
scn::v4::detail::arg_mapper<wchar_t>::map(bool&)
Line
Count
Source
5648
11.2k
    {                                                                        \
5649
11.2k
        return val;                                                          \
5650
11.2k
    }
scn::v4::detail::arg_mapper<wchar_t>::map(void*&)
Line
Count
Source
5648
11.2k
    {                                                                        \
5649
11.2k
        return val;                                                          \
5650
11.2k
    }
scn::v4::detail::arg_mapper<wchar_t>::map(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
5648
11.2k
    {                                                                        \
5649
11.2k
        return val;                                                          \
5650
11.2k
    }
scn::v4::detail::arg_mapper<wchar_t>::map(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
5648
11.2k
    {                                                                        \
5649
11.2k
        return val;                                                          \
5650
11.2k
    }
scn::v4::detail::arg_mapper<wchar_t>::map(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
Line
Count
Source
5648
11.2k
    {                                                                        \
5649
11.2k
        return val;                                                          \
5650
11.2k
    }
5651
5652
    SCN_ARG_MAPPER(signed char)
5653
    SCN_ARG_MAPPER(short)
5654
    SCN_ARG_MAPPER(int)
5655
    SCN_ARG_MAPPER(long)
5656
    SCN_ARG_MAPPER(long long)
5657
    SCN_ARG_MAPPER(unsigned char)
5658
    SCN_ARG_MAPPER(unsigned short)
5659
    SCN_ARG_MAPPER(unsigned)
5660
    SCN_ARG_MAPPER(unsigned long)
5661
    SCN_ARG_MAPPER(unsigned long long)
5662
    SCN_ARG_MAPPER(wchar_t)
5663
    SCN_ARG_MAPPER(char32_t)
5664
    SCN_ARG_MAPPER(bool)
5665
    SCN_ARG_MAPPER(void*)
5666
    SCN_ARG_MAPPER(const void*)
5667
    SCN_ARG_MAPPER(float)
5668
    SCN_ARG_MAPPER(double)
5669
    SCN_ARG_MAPPER(long double)
5670
5671
    SCN_ARG_MAPPER(std::basic_string_view<char_type>)
5672
    SCN_ARG_MAPPER(std::string)
5673
    SCN_ARG_MAPPER(std::wstring)
5674
5675
#undef SCN_ARG_MAPPER
5676
5677
    static decltype(auto) map(char& val)
5678
5.62k
    {
5679
        if constexpr (std::is_same_v<char_type, char> &&
5680
5.62k
                      !is_type_disabled<char_type>) {
5681
5.62k
            return val;
5682
        }
5683
        else if constexpr (is_type_disabled<char_type>) {
5684
            return unscannable_disabled{val};
5685
        }
5686
        else {
5687
            SCN_UNUSED(val);
5688
            return unscannable_char{};
5689
        }
5690
5.62k
    }
5691
5692
    static decltype(auto) map(basic_regex_matches<char_type>& val)
5693
    {
5694
        if constexpr (is_type_disabled<char_type>) {
5695
            return unscannable_disabled{val};
5696
        }
5697
        else {
5698
            return val;
5699
        }
5700
    }
5701
5702
    static unscannable_char map(std::basic_string_view<other_char_type>&)
5703
    {
5704
        return {};
5705
    }
5706
    static unscannable_char map(basic_regex_matches<other_char_type>&)
5707
    {
5708
        return {};
5709
    }
5710
5711
    template <typename T,
5712
              std::void_t<decltype(scanner<T, char_type>{})>* = nullptr>
5713
    static needs_context_tag map(T&)
5714
    {
5715
        return {};
5716
    }
5717
5718
    template <typename T,
5719
              typename Context,
5720
              std::void_t<decltype(scanner<T, char_type>{})>* = nullptr>
5721
    static custom_wrapper<T, Context> map(T& val, context_tag<Context>)
5722
    {
5723
        return {val};
5724
    }
5725
5726
    static unscannable map(...)
5727
    {
5728
        return {};
5729
    }
5730
};
5731
5732
template <typename T, typename CharT>
5733
using mapped_type_constant = arg_type_constant<
5734
    std::remove_reference_t<decltype(arg_mapper<CharT>().map(SCN_DECLVAL(T&)))>,
5735
    CharT>;
5736
5737
template <typename T, typename CharT>
5738
using is_scannable = std::integral_constant<
5739
    bool,
5740
    !std::is_base_of_v<
5741
        unscannable,
5742
        remove_cvref_t<decltype(arg_mapper<CharT>().map(SCN_DECLVAL(T&)))>>>;
5743
5744
constexpr std::size_t packed_arg_bits = 5;
5745
static_assert((1 << packed_arg_bits) >= static_cast<int>(arg_type::last_type));
5746
constexpr std::size_t bits_in_sz = sizeof(std::size_t) * 8;
5747
constexpr std::size_t max_packed_args = (bits_in_sz - 2) / packed_arg_bits - 1;
5748
constexpr std::size_t is_unpacked_bit = std::size_t{1} << (bits_in_sz - 1);
5749
constexpr std::size_t has_custom_types_bit = std::size_t{1} << (bits_in_sz - 2);
5750
5751
template <typename>
5752
constexpr size_t encode_types_impl()
5753
0
{
5754
0
    return 0;
5755
0
}
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<char>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<wchar_t>()
5756
template <typename CharT, typename T, typename... Others>
5757
constexpr size_t encode_types_impl()
5758
0
{
5759
0
    return static_cast<unsigned>(mapped_type_constant<T, CharT>::value) |
5760
0
           (encode_types_impl<CharT, Others...>() << packed_arg_bits);
5761
0
}
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<char, char>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<char, int>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<char, unsigned int>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<char, double>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<char, bool>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<char, void*>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<char, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<char, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<wchar_t, wchar_t>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<wchar_t, int>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<wchar_t, unsigned int>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<wchar_t, double>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<wchar_t, bool>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<wchar_t, void*>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<wchar_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<wchar_t, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >>()
5762
5763
template <typename CharT, typename... Ts>
5764
constexpr size_t encode_types()
5765
0
{
5766
0
    if constexpr (sizeof...(Ts) < (1 << packed_arg_bits)) {
5767
0
        return sizeof...(Ts) |
5768
0
               (encode_types_impl<CharT, Ts...>() << packed_arg_bits);
5769
0
    }
5770
0
    else {
5771
0
        SCN_EXPECT(false);
5772
0
        SCN_UNREACHABLE;
5773
0
    }
5774
0
}
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types<char, char>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types<char, int>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types<char, unsigned int>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types<char, double>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types<char, bool>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types<char, void*>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types<char, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types<char, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types<char, std::__1::basic_string_view<char, std::__1::char_traits<char> > >()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types<wchar_t, wchar_t>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types<wchar_t, int>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types<wchar_t, unsigned int>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types<wchar_t, double>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types<wchar_t, bool>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types<wchar_t, void*>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types<wchar_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types<wchar_t, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >()
5775
5776
template <typename T, typename Arg>
5777
constexpr auto make_value_impl(Arg&& arg)
5778
151k
{
5779
151k
    using arg_nocvref_t = remove_cvref_t<Arg>;
5780
151k
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5781
5782
151k
    constexpr bool scannable_char =
5783
151k
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5784
151k
    static_assert(scannable_char,
5785
151k
                  "Cannot scan an argument of an unsupported character "
5786
151k
                  "type (i.e. char from a wchar_t source)");
5787
5788
151k
    constexpr bool scannable_const =
5789
151k
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5790
151k
    static_assert(scannable_const, "Cannot scan a const argument");
5791
5792
151k
    constexpr bool scannable_disabled =
5793
151k
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5794
151k
    static_assert(scannable_disabled,
5795
151k
                  "Cannot scan an argument that has been disabled by "
5796
151k
                  "flag (SCN_DISABLE_TYPE_*)");
5797
5798
151k
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5799
151k
    static_assert(
5800
151k
        scannable,
5801
151k
        "Cannot scan an argument. To make a type T scannable, provide "
5802
151k
        "a scn::scanner<T, CharT> specialization.");
5803
5804
151k
    return arg_value{arg};
5805
151k
}
auto scn::v4::detail::make_value_impl<char, char&>(char&)
Line
Count
Source
5778
5.62k
{
5779
5.62k
    using arg_nocvref_t = remove_cvref_t<Arg>;
5780
5.62k
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5781
5782
5.62k
    constexpr bool scannable_char =
5783
5.62k
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5784
5.62k
    static_assert(scannable_char,
5785
5.62k
                  "Cannot scan an argument of an unsupported character "
5786
5.62k
                  "type (i.e. char from a wchar_t source)");
5787
5788
5.62k
    constexpr bool scannable_const =
5789
5.62k
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5790
5.62k
    static_assert(scannable_const, "Cannot scan a const argument");
5791
5792
5.62k
    constexpr bool scannable_disabled =
5793
5.62k
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5794
5.62k
    static_assert(scannable_disabled,
5795
5.62k
                  "Cannot scan an argument that has been disabled by "
5796
5.62k
                  "flag (SCN_DISABLE_TYPE_*)");
5797
5798
5.62k
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5799
5.62k
    static_assert(
5800
5.62k
        scannable,
5801
5.62k
        "Cannot scan an argument. To make a type T scannable, provide "
5802
5.62k
        "a scn::scanner<T, CharT> specialization.");
5803
5804
5.62k
    return arg_value{arg};
5805
5.62k
}
auto scn::v4::detail::make_value_impl<int, int&>(int&)
Line
Count
Source
5778
16.8k
{
5779
16.8k
    using arg_nocvref_t = remove_cvref_t<Arg>;
5780
16.8k
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5781
5782
16.8k
    constexpr bool scannable_char =
5783
16.8k
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5784
16.8k
    static_assert(scannable_char,
5785
16.8k
                  "Cannot scan an argument of an unsupported character "
5786
16.8k
                  "type (i.e. char from a wchar_t source)");
5787
5788
16.8k
    constexpr bool scannable_const =
5789
16.8k
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5790
16.8k
    static_assert(scannable_const, "Cannot scan a const argument");
5791
5792
16.8k
    constexpr bool scannable_disabled =
5793
16.8k
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5794
16.8k
    static_assert(scannable_disabled,
5795
16.8k
                  "Cannot scan an argument that has been disabled by "
5796
16.8k
                  "flag (SCN_DISABLE_TYPE_*)");
5797
5798
16.8k
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5799
16.8k
    static_assert(
5800
16.8k
        scannable,
5801
16.8k
        "Cannot scan an argument. To make a type T scannable, provide "
5802
16.8k
        "a scn::scanner<T, CharT> specialization.");
5803
5804
16.8k
    return arg_value{arg};
5805
16.8k
}
auto scn::v4::detail::make_value_impl<unsigned int, unsigned int&>(unsigned int&)
Line
Count
Source
5778
16.8k
{
5779
16.8k
    using arg_nocvref_t = remove_cvref_t<Arg>;
5780
16.8k
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5781
5782
16.8k
    constexpr bool scannable_char =
5783
16.8k
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5784
16.8k
    static_assert(scannable_char,
5785
16.8k
                  "Cannot scan an argument of an unsupported character "
5786
16.8k
                  "type (i.e. char from a wchar_t source)");
5787
5788
16.8k
    constexpr bool scannable_const =
5789
16.8k
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5790
16.8k
    static_assert(scannable_const, "Cannot scan a const argument");
5791
5792
16.8k
    constexpr bool scannable_disabled =
5793
16.8k
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5794
16.8k
    static_assert(scannable_disabled,
5795
16.8k
                  "Cannot scan an argument that has been disabled by "
5796
16.8k
                  "flag (SCN_DISABLE_TYPE_*)");
5797
5798
16.8k
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5799
16.8k
    static_assert(
5800
16.8k
        scannable,
5801
16.8k
        "Cannot scan an argument. To make a type T scannable, provide "
5802
16.8k
        "a scn::scanner<T, CharT> specialization.");
5803
5804
16.8k
    return arg_value{arg};
5805
16.8k
}
auto scn::v4::detail::make_value_impl<double, double&>(double&)
Line
Count
Source
5778
16.8k
{
5779
16.8k
    using arg_nocvref_t = remove_cvref_t<Arg>;
5780
16.8k
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5781
5782
16.8k
    constexpr bool scannable_char =
5783
16.8k
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5784
16.8k
    static_assert(scannable_char,
5785
16.8k
                  "Cannot scan an argument of an unsupported character "
5786
16.8k
                  "type (i.e. char from a wchar_t source)");
5787
5788
16.8k
    constexpr bool scannable_const =
5789
16.8k
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5790
16.8k
    static_assert(scannable_const, "Cannot scan a const argument");
5791
5792
16.8k
    constexpr bool scannable_disabled =
5793
16.8k
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5794
16.8k
    static_assert(scannable_disabled,
5795
16.8k
                  "Cannot scan an argument that has been disabled by "
5796
16.8k
                  "flag (SCN_DISABLE_TYPE_*)");
5797
5798
16.8k
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5799
16.8k
    static_assert(
5800
16.8k
        scannable,
5801
16.8k
        "Cannot scan an argument. To make a type T scannable, provide "
5802
16.8k
        "a scn::scanner<T, CharT> specialization.");
5803
5804
16.8k
    return arg_value{arg};
5805
16.8k
}
auto scn::v4::detail::make_value_impl<bool, bool&>(bool&)
Line
Count
Source
5778
16.8k
{
5779
16.8k
    using arg_nocvref_t = remove_cvref_t<Arg>;
5780
16.8k
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5781
5782
16.8k
    constexpr bool scannable_char =
5783
16.8k
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5784
16.8k
    static_assert(scannable_char,
5785
16.8k
                  "Cannot scan an argument of an unsupported character "
5786
16.8k
                  "type (i.e. char from a wchar_t source)");
5787
5788
16.8k
    constexpr bool scannable_const =
5789
16.8k
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5790
16.8k
    static_assert(scannable_const, "Cannot scan a const argument");
5791
5792
16.8k
    constexpr bool scannable_disabled =
5793
16.8k
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5794
16.8k
    static_assert(scannable_disabled,
5795
16.8k
                  "Cannot scan an argument that has been disabled by "
5796
16.8k
                  "flag (SCN_DISABLE_TYPE_*)");
5797
5798
16.8k
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5799
16.8k
    static_assert(
5800
16.8k
        scannable,
5801
16.8k
        "Cannot scan an argument. To make a type T scannable, provide "
5802
16.8k
        "a scn::scanner<T, CharT> specialization.");
5803
5804
16.8k
    return arg_value{arg};
5805
16.8k
}
auto scn::v4::detail::make_value_impl<void*, void*&>(void*&)
Line
Count
Source
5778
16.8k
{
5779
16.8k
    using arg_nocvref_t = remove_cvref_t<Arg>;
5780
16.8k
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5781
5782
16.8k
    constexpr bool scannable_char =
5783
16.8k
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5784
16.8k
    static_assert(scannable_char,
5785
16.8k
                  "Cannot scan an argument of an unsupported character "
5786
16.8k
                  "type (i.e. char from a wchar_t source)");
5787
5788
16.8k
    constexpr bool scannable_const =
5789
16.8k
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5790
16.8k
    static_assert(scannable_const, "Cannot scan a const argument");
5791
5792
16.8k
    constexpr bool scannable_disabled =
5793
16.8k
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5794
16.8k
    static_assert(scannable_disabled,
5795
16.8k
                  "Cannot scan an argument that has been disabled by "
5796
16.8k
                  "flag (SCN_DISABLE_TYPE_*)");
5797
5798
16.8k
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5799
16.8k
    static_assert(
5800
16.8k
        scannable,
5801
16.8k
        "Cannot scan an argument. To make a type T scannable, provide "
5802
16.8k
        "a scn::scanner<T, CharT> specialization.");
5803
5804
16.8k
    return arg_value{arg};
5805
16.8k
}
auto scn::v4::detail::make_value_impl<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
5778
16.8k
{
5779
16.8k
    using arg_nocvref_t = remove_cvref_t<Arg>;
5780
16.8k
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5781
5782
16.8k
    constexpr bool scannable_char =
5783
16.8k
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5784
16.8k
    static_assert(scannable_char,
5785
16.8k
                  "Cannot scan an argument of an unsupported character "
5786
16.8k
                  "type (i.e. char from a wchar_t source)");
5787
5788
16.8k
    constexpr bool scannable_const =
5789
16.8k
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5790
16.8k
    static_assert(scannable_const, "Cannot scan a const argument");
5791
5792
16.8k
    constexpr bool scannable_disabled =
5793
16.8k
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5794
16.8k
    static_assert(scannable_disabled,
5795
16.8k
                  "Cannot scan an argument that has been disabled by "
5796
16.8k
                  "flag (SCN_DISABLE_TYPE_*)");
5797
5798
16.8k
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5799
16.8k
    static_assert(
5800
16.8k
        scannable,
5801
16.8k
        "Cannot scan an argument. To make a type T scannable, provide "
5802
16.8k
        "a scn::scanner<T, CharT> specialization.");
5803
5804
16.8k
    return arg_value{arg};
5805
16.8k
}
auto scn::v4::detail::make_value_impl<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&>(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
5778
16.8k
{
5779
16.8k
    using arg_nocvref_t = remove_cvref_t<Arg>;
5780
16.8k
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5781
5782
16.8k
    constexpr bool scannable_char =
5783
16.8k
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5784
16.8k
    static_assert(scannable_char,
5785
16.8k
                  "Cannot scan an argument of an unsupported character "
5786
16.8k
                  "type (i.e. char from a wchar_t source)");
5787
5788
16.8k
    constexpr bool scannable_const =
5789
16.8k
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5790
16.8k
    static_assert(scannable_const, "Cannot scan a const argument");
5791
5792
16.8k
    constexpr bool scannable_disabled =
5793
16.8k
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5794
16.8k
    static_assert(scannable_disabled,
5795
16.8k
                  "Cannot scan an argument that has been disabled by "
5796
16.8k
                  "flag (SCN_DISABLE_TYPE_*)");
5797
5798
16.8k
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5799
16.8k
    static_assert(
5800
16.8k
        scannable,
5801
16.8k
        "Cannot scan an argument. To make a type T scannable, provide "
5802
16.8k
        "a scn::scanner<T, CharT> specialization.");
5803
5804
16.8k
    return arg_value{arg};
5805
16.8k
}
auto scn::v4::detail::make_value_impl<std::__1::basic_string_view<char, std::__1::char_traits<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >&>(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Line
Count
Source
5778
5.62k
{
5779
5.62k
    using arg_nocvref_t = remove_cvref_t<Arg>;
5780
5.62k
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5781
5782
5.62k
    constexpr bool scannable_char =
5783
5.62k
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5784
5.62k
    static_assert(scannable_char,
5785
5.62k
                  "Cannot scan an argument of an unsupported character "
5786
5.62k
                  "type (i.e. char from a wchar_t source)");
5787
5788
5.62k
    constexpr bool scannable_const =
5789
5.62k
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5790
5.62k
    static_assert(scannable_const, "Cannot scan a const argument");
5791
5792
5.62k
    constexpr bool scannable_disabled =
5793
5.62k
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5794
5.62k
    static_assert(scannable_disabled,
5795
5.62k
                  "Cannot scan an argument that has been disabled by "
5796
5.62k
                  "flag (SCN_DISABLE_TYPE_*)");
5797
5798
5.62k
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5799
5.62k
    static_assert(
5800
5.62k
        scannable,
5801
5.62k
        "Cannot scan an argument. To make a type T scannable, provide "
5802
5.62k
        "a scn::scanner<T, CharT> specialization.");
5803
5804
5.62k
    return arg_value{arg};
5805
5.62k
}
auto scn::v4::detail::make_value_impl<wchar_t, wchar_t&>(wchar_t&)
Line
Count
Source
5778
11.2k
{
5779
11.2k
    using arg_nocvref_t = remove_cvref_t<Arg>;
5780
11.2k
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5781
5782
11.2k
    constexpr bool scannable_char =
5783
11.2k
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5784
11.2k
    static_assert(scannable_char,
5785
11.2k
                  "Cannot scan an argument of an unsupported character "
5786
11.2k
                  "type (i.e. char from a wchar_t source)");
5787
5788
11.2k
    constexpr bool scannable_const =
5789
11.2k
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5790
11.2k
    static_assert(scannable_const, "Cannot scan a const argument");
5791
5792
11.2k
    constexpr bool scannable_disabled =
5793
11.2k
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5794
11.2k
    static_assert(scannable_disabled,
5795
11.2k
                  "Cannot scan an argument that has been disabled by "
5796
11.2k
                  "flag (SCN_DISABLE_TYPE_*)");
5797
5798
11.2k
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5799
11.2k
    static_assert(
5800
11.2k
        scannable,
5801
11.2k
        "Cannot scan an argument. To make a type T scannable, provide "
5802
11.2k
        "a scn::scanner<T, CharT> specialization.");
5803
5804
11.2k
    return arg_value{arg};
5805
11.2k
}
auto scn::v4::detail::make_value_impl<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
Line
Count
Source
5778
11.2k
{
5779
11.2k
    using arg_nocvref_t = remove_cvref_t<Arg>;
5780
11.2k
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5781
5782
11.2k
    constexpr bool scannable_char =
5783
11.2k
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5784
11.2k
    static_assert(scannable_char,
5785
11.2k
                  "Cannot scan an argument of an unsupported character "
5786
11.2k
                  "type (i.e. char from a wchar_t source)");
5787
5788
11.2k
    constexpr bool scannable_const =
5789
11.2k
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5790
11.2k
    static_assert(scannable_const, "Cannot scan a const argument");
5791
5792
11.2k
    constexpr bool scannable_disabled =
5793
11.2k
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5794
11.2k
    static_assert(scannable_disabled,
5795
11.2k
                  "Cannot scan an argument that has been disabled by "
5796
11.2k
                  "flag (SCN_DISABLE_TYPE_*)");
5797
5798
11.2k
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5799
11.2k
    static_assert(
5800
11.2k
        scannable,
5801
11.2k
        "Cannot scan an argument. To make a type T scannable, provide "
5802
11.2k
        "a scn::scanner<T, CharT> specialization.");
5803
5804
11.2k
    return arg_value{arg};
5805
11.2k
}
5806
5807
template <typename Context, typename T>
5808
constexpr auto make_value(T& value)
5809
151k
{
5810
151k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5811
5812
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5813
151k
                                  needs_context_tag>) {
5814
151k
        return make_value_impl<T>(SCN_FWD(arg));
5815
    }
5816
    else {
5817
        return make_value_impl<T>(arg_mapper<typename Context::char_type>().map(
5818
            value, context_tag<Context>{}));
5819
    }
5820
151k
}
auto scn::v4::detail::make_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, char>(char&)
Line
Count
Source
5809
5.62k
{
5810
5.62k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5811
5812
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5813
5.62k
                                  needs_context_tag>) {
5814
5.62k
        return make_value_impl<T>(SCN_FWD(arg));
5815
    }
5816
    else {
5817
        return make_value_impl<T>(arg_mapper<typename Context::char_type>().map(
5818
            value, context_tag<Context>{}));
5819
    }
5820
5.62k
}
auto scn::v4::detail::make_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, int>(int&)
Line
Count
Source
5809
5.62k
{
5810
5.62k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5811
5812
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5813
5.62k
                                  needs_context_tag>) {
5814
5.62k
        return make_value_impl<T>(SCN_FWD(arg));
5815
    }
5816
    else {
5817
        return make_value_impl<T>(arg_mapper<typename Context::char_type>().map(
5818
            value, context_tag<Context>{}));
5819
    }
5820
5.62k
}
auto scn::v4::detail::make_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, unsigned int>(unsigned int&)
Line
Count
Source
5809
5.62k
{
5810
5.62k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5811
5812
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5813
5.62k
                                  needs_context_tag>) {
5814
5.62k
        return make_value_impl<T>(SCN_FWD(arg));
5815
    }
5816
    else {
5817
        return make_value_impl<T>(arg_mapper<typename Context::char_type>().map(
5818
            value, context_tag<Context>{}));
5819
    }
5820
5.62k
}
auto scn::v4::detail::make_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, double>(double&)
Line
Count
Source
5809
5.62k
{
5810
5.62k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5811
5812
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5813
5.62k
                                  needs_context_tag>) {
5814
5.62k
        return make_value_impl<T>(SCN_FWD(arg));
5815
    }
5816
    else {
5817
        return make_value_impl<T>(arg_mapper<typename Context::char_type>().map(
5818
            value, context_tag<Context>{}));
5819
    }
5820
5.62k
}
auto scn::v4::detail::make_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, bool>(bool&)
Line
Count
Source
5809
5.62k
{
5810
5.62k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5811
5812
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5813
5.62k
                                  needs_context_tag>) {
5814
5.62k
        return make_value_impl<T>(SCN_FWD(arg));
5815
    }
5816
    else {
5817
        return make_value_impl<T>(arg_mapper<typename Context::char_type>().map(
5818
            value, context_tag<Context>{}));
5819
    }
5820
5.62k
}
auto scn::v4::detail::make_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, void*>(void*&)
Line
Count
Source
5809
5.62k
{
5810
5.62k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5811
5812
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5813
5.62k
                                  needs_context_tag>) {
5814
5.62k
        return make_value_impl<T>(SCN_FWD(arg));
5815
    }
5816
    else {
5817
        return make_value_impl<T>(arg_mapper<typename Context::char_type>().map(
5818
            value, context_tag<Context>{}));
5819
    }
5820
5.62k
}
auto scn::v4::detail::make_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
5809
5.62k
{
5810
5.62k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5811
5812
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5813
5.62k
                                  needs_context_tag>) {
5814
5.62k
        return make_value_impl<T>(SCN_FWD(arg));
5815
    }
5816
    else {
5817
        return make_value_impl<T>(arg_mapper<typename Context::char_type>().map(
5818
            value, context_tag<Context>{}));
5819
    }
5820
5.62k
}
auto scn::v4::detail::make_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
5809
5.62k
{
5810
5.62k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5811
5812
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5813
5.62k
                                  needs_context_tag>) {
5814
5.62k
        return make_value_impl<T>(SCN_FWD(arg));
5815
    }
5816
    else {
5817
        return make_value_impl<T>(arg_mapper<typename Context::char_type>().map(
5818
            value, context_tag<Context>{}));
5819
    }
5820
5.62k
}
auto scn::v4::detail::make_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Line
Count
Source
5809
5.62k
{
5810
5.62k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5811
5812
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5813
5.62k
                                  needs_context_tag>) {
5814
5.62k
        return make_value_impl<T>(SCN_FWD(arg));
5815
    }
5816
    else {
5817
        return make_value_impl<T>(arg_mapper<typename Context::char_type>().map(
5818
            value, context_tag<Context>{}));
5819
    }
5820
5.62k
}
auto scn::v4::detail::make_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, wchar_t>(wchar_t&)
Line
Count
Source
5809
11.2k
{
5810
11.2k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5811
5812
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5813
11.2k
                                  needs_context_tag>) {
5814
11.2k
        return make_value_impl<T>(SCN_FWD(arg));
5815
    }
5816
    else {
5817
        return make_value_impl<T>(arg_mapper<typename Context::char_type>().map(
5818
            value, context_tag<Context>{}));
5819
    }
5820
11.2k
}
auto scn::v4::detail::make_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, int>(int&)
Line
Count
Source
5809
11.2k
{
5810
11.2k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5811
5812
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5813
11.2k
                                  needs_context_tag>) {
5814
11.2k
        return make_value_impl<T>(SCN_FWD(arg));
5815
    }
5816
    else {
5817
        return make_value_impl<T>(arg_mapper<typename Context::char_type>().map(
5818
            value, context_tag<Context>{}));
5819
    }
5820
11.2k
}
auto scn::v4::detail::make_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, unsigned int>(unsigned int&)
Line
Count
Source
5809
11.2k
{
5810
11.2k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5811
5812
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5813
11.2k
                                  needs_context_tag>) {
5814
11.2k
        return make_value_impl<T>(SCN_FWD(arg));
5815
    }
5816
    else {
5817
        return make_value_impl<T>(arg_mapper<typename Context::char_type>().map(
5818
            value, context_tag<Context>{}));
5819
    }
5820
11.2k
}
auto scn::v4::detail::make_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, double>(double&)
Line
Count
Source
5809
11.2k
{
5810
11.2k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5811
5812
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5813
11.2k
                                  needs_context_tag>) {
5814
11.2k
        return make_value_impl<T>(SCN_FWD(arg));
5815
    }
5816
    else {
5817
        return make_value_impl<T>(arg_mapper<typename Context::char_type>().map(
5818
            value, context_tag<Context>{}));
5819
    }
5820
11.2k
}
auto scn::v4::detail::make_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, bool>(bool&)
Line
Count
Source
5809
11.2k
{
5810
11.2k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5811
5812
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5813
11.2k
                                  needs_context_tag>) {
5814
11.2k
        return make_value_impl<T>(SCN_FWD(arg));
5815
    }
5816
    else {
5817
        return make_value_impl<T>(arg_mapper<typename Context::char_type>().map(
5818
            value, context_tag<Context>{}));
5819
    }
5820
11.2k
}
auto scn::v4::detail::make_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, void*>(void*&)
Line
Count
Source
5809
11.2k
{
5810
11.2k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5811
5812
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5813
11.2k
                                  needs_context_tag>) {
5814
11.2k
        return make_value_impl<T>(SCN_FWD(arg));
5815
    }
5816
    else {
5817
        return make_value_impl<T>(arg_mapper<typename Context::char_type>().map(
5818
            value, context_tag<Context>{}));
5819
    }
5820
11.2k
}
auto scn::v4::detail::make_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
5809
11.2k
{
5810
11.2k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5811
5812
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5813
11.2k
                                  needs_context_tag>) {
5814
11.2k
        return make_value_impl<T>(SCN_FWD(arg));
5815
    }
5816
    else {
5817
        return make_value_impl<T>(arg_mapper<typename Context::char_type>().map(
5818
            value, context_tag<Context>{}));
5819
    }
5820
11.2k
}
auto scn::v4::detail::make_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
5809
11.2k
{
5810
11.2k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5811
5812
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5813
11.2k
                                  needs_context_tag>) {
5814
11.2k
        return make_value_impl<T>(SCN_FWD(arg));
5815
    }
5816
    else {
5817
        return make_value_impl<T>(arg_mapper<typename Context::char_type>().map(
5818
            value, context_tag<Context>{}));
5819
    }
5820
11.2k
}
auto scn::v4::detail::make_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
Line
Count
Source
5809
11.2k
{
5810
11.2k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5811
5812
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5813
11.2k
                                  needs_context_tag>) {
5814
11.2k
        return make_value_impl<T>(SCN_FWD(arg));
5815
    }
5816
    else {
5817
        return make_value_impl<T>(arg_mapper<typename Context::char_type>().map(
5818
            value, context_tag<Context>{}));
5819
    }
5820
11.2k
}
5821
5822
template <typename... Args>
5823
constexpr bool check_scan_arg_types()
5824
151k
{
5825
151k
    constexpr bool default_constructible_constraint =
5826
151k
        std::conjunction_v<std::is_default_constructible<Args>...>;
5827
151k
    static_assert(default_constructible_constraint,
5828
151k
                  "Scan argument types must be default constructible");
5829
5830
151k
    constexpr bool destructible_constraint =
5831
151k
        std::conjunction_v<std::is_destructible<Args>...>;
5832
151k
    static_assert(destructible_constraint,
5833
151k
                  "Scan argument types must be Destructible");
5834
5835
151k
    constexpr bool non_reference_constraint =
5836
151k
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>;
5837
151k
    static_assert(non_reference_constraint,
5838
151k
                  "Scan argument types must not be references");
5839
5840
151k
    constexpr bool movable_constraint =
5841
151k
        std::conjunction_v<std::is_move_constructible<Args>...>;
5842
151k
    static_assert(movable_constraint,
5843
151k
                  "Scan argument types must be move constructible");
5844
5845
151k
    return default_constructible_constraint && destructible_constraint &&
5846
151k
           non_reference_constraint && movable_constraint;
5847
151k
}
bool scn::v4::detail::check_scan_arg_types<char>()
Line
Count
Source
5824
5.62k
{
5825
5.62k
    constexpr bool default_constructible_constraint =
5826
5.62k
        std::conjunction_v<std::is_default_constructible<Args>...>;
5827
5.62k
    static_assert(default_constructible_constraint,
5828
5.62k
                  "Scan argument types must be default constructible");
5829
5830
5.62k
    constexpr bool destructible_constraint =
5831
5.62k
        std::conjunction_v<std::is_destructible<Args>...>;
5832
5.62k
    static_assert(destructible_constraint,
5833
5.62k
                  "Scan argument types must be Destructible");
5834
5835
5.62k
    constexpr bool non_reference_constraint =
5836
5.62k
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>;
5837
5.62k
    static_assert(non_reference_constraint,
5838
5.62k
                  "Scan argument types must not be references");
5839
5840
5.62k
    constexpr bool movable_constraint =
5841
5.62k
        std::conjunction_v<std::is_move_constructible<Args>...>;
5842
5.62k
    static_assert(movable_constraint,
5843
5.62k
                  "Scan argument types must be move constructible");
5844
5845
5.62k
    return default_constructible_constraint && destructible_constraint &&
5846
5.62k
           non_reference_constraint && movable_constraint;
5847
5.62k
}
bool scn::v4::detail::check_scan_arg_types<int>()
Line
Count
Source
5824
16.8k
{
5825
16.8k
    constexpr bool default_constructible_constraint =
5826
16.8k
        std::conjunction_v<std::is_default_constructible<Args>...>;
5827
16.8k
    static_assert(default_constructible_constraint,
5828
16.8k
                  "Scan argument types must be default constructible");
5829
5830
16.8k
    constexpr bool destructible_constraint =
5831
16.8k
        std::conjunction_v<std::is_destructible<Args>...>;
5832
16.8k
    static_assert(destructible_constraint,
5833
16.8k
                  "Scan argument types must be Destructible");
5834
5835
16.8k
    constexpr bool non_reference_constraint =
5836
16.8k
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>;
5837
16.8k
    static_assert(non_reference_constraint,
5838
16.8k
                  "Scan argument types must not be references");
5839
5840
16.8k
    constexpr bool movable_constraint =
5841
16.8k
        std::conjunction_v<std::is_move_constructible<Args>...>;
5842
16.8k
    static_assert(movable_constraint,
5843
16.8k
                  "Scan argument types must be move constructible");
5844
5845
16.8k
    return default_constructible_constraint && destructible_constraint &&
5846
16.8k
           non_reference_constraint && movable_constraint;
5847
16.8k
}
bool scn::v4::detail::check_scan_arg_types<unsigned int>()
Line
Count
Source
5824
16.8k
{
5825
16.8k
    constexpr bool default_constructible_constraint =
5826
16.8k
        std::conjunction_v<std::is_default_constructible<Args>...>;
5827
16.8k
    static_assert(default_constructible_constraint,
5828
16.8k
                  "Scan argument types must be default constructible");
5829
5830
16.8k
    constexpr bool destructible_constraint =
5831
16.8k
        std::conjunction_v<std::is_destructible<Args>...>;
5832
16.8k
    static_assert(destructible_constraint,
5833
16.8k
                  "Scan argument types must be Destructible");
5834
5835
16.8k
    constexpr bool non_reference_constraint =
5836
16.8k
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>;
5837
16.8k
    static_assert(non_reference_constraint,
5838
16.8k
                  "Scan argument types must not be references");
5839
5840
16.8k
    constexpr bool movable_constraint =
5841
16.8k
        std::conjunction_v<std::is_move_constructible<Args>...>;
5842
16.8k
    static_assert(movable_constraint,
5843
16.8k
                  "Scan argument types must be move constructible");
5844
5845
16.8k
    return default_constructible_constraint && destructible_constraint &&
5846
16.8k
           non_reference_constraint && movable_constraint;
5847
16.8k
}
bool scn::v4::detail::check_scan_arg_types<double>()
Line
Count
Source
5824
16.8k
{
5825
16.8k
    constexpr bool default_constructible_constraint =
5826
16.8k
        std::conjunction_v<std::is_default_constructible<Args>...>;
5827
16.8k
    static_assert(default_constructible_constraint,
5828
16.8k
                  "Scan argument types must be default constructible");
5829
5830
16.8k
    constexpr bool destructible_constraint =
5831
16.8k
        std::conjunction_v<std::is_destructible<Args>...>;
5832
16.8k
    static_assert(destructible_constraint,
5833
16.8k
                  "Scan argument types must be Destructible");
5834
5835
16.8k
    constexpr bool non_reference_constraint =
5836
16.8k
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>;
5837
16.8k
    static_assert(non_reference_constraint,
5838
16.8k
                  "Scan argument types must not be references");
5839
5840
16.8k
    constexpr bool movable_constraint =
5841
16.8k
        std::conjunction_v<std::is_move_constructible<Args>...>;
5842
16.8k
    static_assert(movable_constraint,
5843
16.8k
                  "Scan argument types must be move constructible");
5844
5845
16.8k
    return default_constructible_constraint && destructible_constraint &&
5846
16.8k
           non_reference_constraint && movable_constraint;
5847
16.8k
}
bool scn::v4::detail::check_scan_arg_types<bool>()
Line
Count
Source
5824
16.8k
{
5825
16.8k
    constexpr bool default_constructible_constraint =
5826
16.8k
        std::conjunction_v<std::is_default_constructible<Args>...>;
5827
16.8k
    static_assert(default_constructible_constraint,
5828
16.8k
                  "Scan argument types must be default constructible");
5829
5830
16.8k
    constexpr bool destructible_constraint =
5831
16.8k
        std::conjunction_v<std::is_destructible<Args>...>;
5832
16.8k
    static_assert(destructible_constraint,
5833
16.8k
                  "Scan argument types must be Destructible");
5834
5835
16.8k
    constexpr bool non_reference_constraint =
5836
16.8k
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>;
5837
16.8k
    static_assert(non_reference_constraint,
5838
16.8k
                  "Scan argument types must not be references");
5839
5840
16.8k
    constexpr bool movable_constraint =
5841
16.8k
        std::conjunction_v<std::is_move_constructible<Args>...>;
5842
16.8k
    static_assert(movable_constraint,
5843
16.8k
                  "Scan argument types must be move constructible");
5844
5845
16.8k
    return default_constructible_constraint && destructible_constraint &&
5846
16.8k
           non_reference_constraint && movable_constraint;
5847
16.8k
}
bool scn::v4::detail::check_scan_arg_types<void*>()
Line
Count
Source
5824
16.8k
{
5825
16.8k
    constexpr bool default_constructible_constraint =
5826
16.8k
        std::conjunction_v<std::is_default_constructible<Args>...>;
5827
16.8k
    static_assert(default_constructible_constraint,
5828
16.8k
                  "Scan argument types must be default constructible");
5829
5830
16.8k
    constexpr bool destructible_constraint =
5831
16.8k
        std::conjunction_v<std::is_destructible<Args>...>;
5832
16.8k
    static_assert(destructible_constraint,
5833
16.8k
                  "Scan argument types must be Destructible");
5834
5835
16.8k
    constexpr bool non_reference_constraint =
5836
16.8k
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>;
5837
16.8k
    static_assert(non_reference_constraint,
5838
16.8k
                  "Scan argument types must not be references");
5839
5840
16.8k
    constexpr bool movable_constraint =
5841
16.8k
        std::conjunction_v<std::is_move_constructible<Args>...>;
5842
16.8k
    static_assert(movable_constraint,
5843
16.8k
                  "Scan argument types must be move constructible");
5844
5845
16.8k
    return default_constructible_constraint && destructible_constraint &&
5846
16.8k
           non_reference_constraint && movable_constraint;
5847
16.8k
}
bool scn::v4::detail::check_scan_arg_types<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
Line
Count
Source
5824
16.8k
{
5825
16.8k
    constexpr bool default_constructible_constraint =
5826
16.8k
        std::conjunction_v<std::is_default_constructible<Args>...>;
5827
16.8k
    static_assert(default_constructible_constraint,
5828
16.8k
                  "Scan argument types must be default constructible");
5829
5830
16.8k
    constexpr bool destructible_constraint =
5831
16.8k
        std::conjunction_v<std::is_destructible<Args>...>;
5832
16.8k
    static_assert(destructible_constraint,
5833
16.8k
                  "Scan argument types must be Destructible");
5834
5835
16.8k
    constexpr bool non_reference_constraint =
5836
16.8k
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>;
5837
16.8k
    static_assert(non_reference_constraint,
5838
16.8k
                  "Scan argument types must not be references");
5839
5840
16.8k
    constexpr bool movable_constraint =
5841
16.8k
        std::conjunction_v<std::is_move_constructible<Args>...>;
5842
16.8k
    static_assert(movable_constraint,
5843
16.8k
                  "Scan argument types must be move constructible");
5844
5845
16.8k
    return default_constructible_constraint && destructible_constraint &&
5846
16.8k
           non_reference_constraint && movable_constraint;
5847
16.8k
}
bool scn::v4::detail::check_scan_arg_types<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >()
Line
Count
Source
5824
16.8k
{
5825
16.8k
    constexpr bool default_constructible_constraint =
5826
16.8k
        std::conjunction_v<std::is_default_constructible<Args>...>;
5827
16.8k
    static_assert(default_constructible_constraint,
5828
16.8k
                  "Scan argument types must be default constructible");
5829
5830
16.8k
    constexpr bool destructible_constraint =
5831
16.8k
        std::conjunction_v<std::is_destructible<Args>...>;
5832
16.8k
    static_assert(destructible_constraint,
5833
16.8k
                  "Scan argument types must be Destructible");
5834
5835
16.8k
    constexpr bool non_reference_constraint =
5836
16.8k
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>;
5837
16.8k
    static_assert(non_reference_constraint,
5838
16.8k
                  "Scan argument types must not be references");
5839
5840
16.8k
    constexpr bool movable_constraint =
5841
16.8k
        std::conjunction_v<std::is_move_constructible<Args>...>;
5842
16.8k
    static_assert(movable_constraint,
5843
16.8k
                  "Scan argument types must be move constructible");
5844
5845
16.8k
    return default_constructible_constraint && destructible_constraint &&
5846
16.8k
           non_reference_constraint && movable_constraint;
5847
16.8k
}
bool scn::v4::detail::check_scan_arg_types<std::__1::basic_string_view<char, std::__1::char_traits<char> > >()
Line
Count
Source
5824
5.62k
{
5825
5.62k
    constexpr bool default_constructible_constraint =
5826
5.62k
        std::conjunction_v<std::is_default_constructible<Args>...>;
5827
5.62k
    static_assert(default_constructible_constraint,
5828
5.62k
                  "Scan argument types must be default constructible");
5829
5830
5.62k
    constexpr bool destructible_constraint =
5831
5.62k
        std::conjunction_v<std::is_destructible<Args>...>;
5832
5.62k
    static_assert(destructible_constraint,
5833
5.62k
                  "Scan argument types must be Destructible");
5834
5835
5.62k
    constexpr bool non_reference_constraint =
5836
5.62k
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>;
5837
5.62k
    static_assert(non_reference_constraint,
5838
5.62k
                  "Scan argument types must not be references");
5839
5840
5.62k
    constexpr bool movable_constraint =
5841
5.62k
        std::conjunction_v<std::is_move_constructible<Args>...>;
5842
5.62k
    static_assert(movable_constraint,
5843
5.62k
                  "Scan argument types must be move constructible");
5844
5845
5.62k
    return default_constructible_constraint && destructible_constraint &&
5846
5.62k
           non_reference_constraint && movable_constraint;
5847
5.62k
}
bool scn::v4::detail::check_scan_arg_types<wchar_t>()
Line
Count
Source
5824
11.2k
{
5825
11.2k
    constexpr bool default_constructible_constraint =
5826
11.2k
        std::conjunction_v<std::is_default_constructible<Args>...>;
5827
11.2k
    static_assert(default_constructible_constraint,
5828
11.2k
                  "Scan argument types must be default constructible");
5829
5830
11.2k
    constexpr bool destructible_constraint =
5831
11.2k
        std::conjunction_v<std::is_destructible<Args>...>;
5832
11.2k
    static_assert(destructible_constraint,
5833
11.2k
                  "Scan argument types must be Destructible");
5834
5835
11.2k
    constexpr bool non_reference_constraint =
5836
11.2k
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>;
5837
11.2k
    static_assert(non_reference_constraint,
5838
11.2k
                  "Scan argument types must not be references");
5839
5840
11.2k
    constexpr bool movable_constraint =
5841
11.2k
        std::conjunction_v<std::is_move_constructible<Args>...>;
5842
11.2k
    static_assert(movable_constraint,
5843
11.2k
                  "Scan argument types must be move constructible");
5844
5845
11.2k
    return default_constructible_constraint && destructible_constraint &&
5846
11.2k
           non_reference_constraint && movable_constraint;
5847
11.2k
}
bool scn::v4::detail::check_scan_arg_types<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >()
Line
Count
Source
5824
11.2k
{
5825
11.2k
    constexpr bool default_constructible_constraint =
5826
11.2k
        std::conjunction_v<std::is_default_constructible<Args>...>;
5827
11.2k
    static_assert(default_constructible_constraint,
5828
11.2k
                  "Scan argument types must be default constructible");
5829
5830
11.2k
    constexpr bool destructible_constraint =
5831
11.2k
        std::conjunction_v<std::is_destructible<Args>...>;
5832
11.2k
    static_assert(destructible_constraint,
5833
11.2k
                  "Scan argument types must be Destructible");
5834
5835
11.2k
    constexpr bool non_reference_constraint =
5836
11.2k
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>;
5837
11.2k
    static_assert(non_reference_constraint,
5838
11.2k
                  "Scan argument types must not be references");
5839
5840
11.2k
    constexpr bool movable_constraint =
5841
11.2k
        std::conjunction_v<std::is_move_constructible<Args>...>;
5842
11.2k
    static_assert(movable_constraint,
5843
11.2k
                  "Scan argument types must be move constructible");
5844
5845
11.2k
    return default_constructible_constraint && destructible_constraint &&
5846
11.2k
           non_reference_constraint && movable_constraint;
5847
11.2k
}
5848
5849
enum class scan_arg_store_kind {
5850
    // only built-in types (no custom types), packed
5851
    builtin,
5852
5853
    packed,
5854
    unpacked
5855
};
5856
5857
template <typename Context, typename T>
5858
constexpr basic_scan_arg<Context> make_arg(T& value)
5859
{
5860
    check_scan_arg_types<T>();
5861
5862
    basic_scan_arg<Context> arg;
5863
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5864
    arg.m_value = make_value<Context>(value);
5865
    return arg;
5866
}
5867
5868
template <scan_arg_store_kind Kind,
5869
          typename Context,
5870
          arg_type,
5871
          typename T,
5872
          typename = std::enable_if_t<Kind == scan_arg_store_kind::builtin>>
5873
constexpr void* make_arg(T& value)
5874
151k
{
5875
151k
    return make_value<Context>(value).ref_value;
5876
151k
}
void* scn::v4::detail::make_arg<(scn::v4::detail::scan_arg_store_kind)0, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, (scn::v4::detail::arg_type)12, char, void>(char&)
Line
Count
Source
5874
5.62k
{
5875
5.62k
    return make_value<Context>(value).ref_value;
5876
5.62k
}
void* scn::v4::detail::make_arg<(scn::v4::detail::scan_arg_store_kind)0, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, (scn::v4::detail::arg_type)3, int, void>(int&)
Line
Count
Source
5874
5.62k
{
5875
5.62k
    return make_value<Context>(value).ref_value;
5876
5.62k
}
void* scn::v4::detail::make_arg<(scn::v4::detail::scan_arg_store_kind)0, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, (scn::v4::detail::arg_type)8, unsigned int, void>(unsigned int&)
Line
Count
Source
5874
5.62k
{
5875
5.62k
    return make_value<Context>(value).ref_value;
5876
5.62k
}
void* scn::v4::detail::make_arg<(scn::v4::detail::scan_arg_store_kind)0, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, (scn::v4::detail::arg_type)17, double, void>(double&)
Line
Count
Source
5874
5.62k
{
5875
5.62k
    return make_value<Context>(value).ref_value;
5876
5.62k
}
void* scn::v4::detail::make_arg<(scn::v4::detail::scan_arg_store_kind)0, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, (scn::v4::detail::arg_type)11, bool, void>(bool&)
Line
Count
Source
5874
5.62k
{
5875
5.62k
    return make_value<Context>(value).ref_value;
5876
5.62k
}
void* scn::v4::detail::make_arg<(scn::v4::detail::scan_arg_store_kind)0, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, (scn::v4::detail::arg_type)15, void*, void>(void*&)
Line
Count
Source
5874
5.62k
{
5875
5.62k
    return make_value<Context>(value).ref_value;
5876
5.62k
}
void* scn::v4::detail::make_arg<(scn::v4::detail::scan_arg_store_kind)0, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, (scn::v4::detail::arg_type)21, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, void>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
5874
5.62k
{
5875
5.62k
    return make_value<Context>(value).ref_value;
5876
5.62k
}
void* scn::v4::detail::make_arg<(scn::v4::detail::scan_arg_store_kind)0, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, (scn::v4::detail::arg_type)22, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, void>(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
5874
5.62k
{
5875
5.62k
    return make_value<Context>(value).ref_value;
5876
5.62k
}
void* scn::v4::detail::make_arg<(scn::v4::detail::scan_arg_store_kind)0, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, (scn::v4::detail::arg_type)19, std::__1::basic_string_view<char, std::__1::char_traits<char> >, void>(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Line
Count
Source
5874
5.62k
{
5875
5.62k
    return make_value<Context>(value).ref_value;
5876
5.62k
}
void* scn::v4::detail::make_arg<(scn::v4::detail::scan_arg_store_kind)0, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, (scn::v4::detail::arg_type)13, wchar_t, void>(wchar_t&)
Line
Count
Source
5874
11.2k
{
5875
11.2k
    return make_value<Context>(value).ref_value;
5876
11.2k
}
void* scn::v4::detail::make_arg<(scn::v4::detail::scan_arg_store_kind)0, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, (scn::v4::detail::arg_type)3, int, void>(int&)
Line
Count
Source
5874
11.2k
{
5875
11.2k
    return make_value<Context>(value).ref_value;
5876
11.2k
}
void* scn::v4::detail::make_arg<(scn::v4::detail::scan_arg_store_kind)0, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, (scn::v4::detail::arg_type)8, unsigned int, void>(unsigned int&)
Line
Count
Source
5874
11.2k
{
5875
11.2k
    return make_value<Context>(value).ref_value;
5876
11.2k
}
void* scn::v4::detail::make_arg<(scn::v4::detail::scan_arg_store_kind)0, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, (scn::v4::detail::arg_type)17, double, void>(double&)
Line
Count
Source
5874
11.2k
{
5875
11.2k
    return make_value<Context>(value).ref_value;
5876
11.2k
}
void* scn::v4::detail::make_arg<(scn::v4::detail::scan_arg_store_kind)0, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, (scn::v4::detail::arg_type)11, bool, void>(bool&)
Line
Count
Source
5874
11.2k
{
5875
11.2k
    return make_value<Context>(value).ref_value;
5876
11.2k
}
void* scn::v4::detail::make_arg<(scn::v4::detail::scan_arg_store_kind)0, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, (scn::v4::detail::arg_type)15, void*, void>(void*&)
Line
Count
Source
5874
11.2k
{
5875
11.2k
    return make_value<Context>(value).ref_value;
5876
11.2k
}
void* scn::v4::detail::make_arg<(scn::v4::detail::scan_arg_store_kind)0, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, (scn::v4::detail::arg_type)21, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, void>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
5874
11.2k
{
5875
11.2k
    return make_value<Context>(value).ref_value;
5876
11.2k
}
void* scn::v4::detail::make_arg<(scn::v4::detail::scan_arg_store_kind)0, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, (scn::v4::detail::arg_type)22, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, void>(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
5874
11.2k
{
5875
11.2k
    return make_value<Context>(value).ref_value;
5876
11.2k
}
void* scn::v4::detail::make_arg<(scn::v4::detail::scan_arg_store_kind)0, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, (scn::v4::detail::arg_type)20, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, void>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
Line
Count
Source
5874
11.2k
{
5875
11.2k
    return make_value<Context>(value).ref_value;
5876
11.2k
}
5877
template <scan_arg_store_kind Kind,
5878
          typename Context,
5879
          arg_type,
5880
          typename T,
5881
          typename = std::enable_if_t<Kind == scan_arg_store_kind::packed>>
5882
constexpr arg_value make_arg(T& value)
5883
{
5884
    return make_value<Context>(value);
5885
}
5886
template <scan_arg_store_kind Kind,
5887
          typename Context,
5888
          arg_type,
5889
          typename T,
5890
          typename = std::enable_if_t<Kind == scan_arg_store_kind::unpacked>>
5891
constexpr basic_scan_arg<Context> make_arg(T&& value)
5892
{
5893
    return make_arg<Context>(SCN_FWD(value));
5894
}
5895
5896
template <typename Context>
5897
constexpr arg_value& get_arg_value(basic_scan_arg<Context>& arg);
5898
template <typename Context>
5899
constexpr arg_value get_arg_value(const basic_scan_arg<Context>& arg);
5900
5901
template <typename Context>
5902
constexpr arg_type& get_arg_type(basic_scan_arg<Context>& arg);
5903
template <typename Context>
5904
constexpr arg_type get_arg_type(const basic_scan_arg<Context>& arg);
5905
5906
template <typename Visitor, typename Context>
5907
constexpr decltype(auto) visit_impl(Visitor&& vis,
5908
                                    basic_scan_arg<Context>& arg);
5909
}  // namespace detail
5910
5911
/**
5912
 * Type-erased scanning argument.
5913
 *
5914
 * Contains a pointer to the value contained in a `scan_arg_store`.
5915
 */
5916
template <typename Context>
5917
class basic_scan_arg {
5918
public:
5919
    /**
5920
     * Enables scanning of a user-defined type.
5921
     *
5922
     * Contains a pointer to the value contained in a `scan_arg_store`, and
5923
     * a callback for parsing the format string, and scanning the value.
5924
     *
5925
     * \see scn::visit_scan_arg
5926
     */
5927
    class handle {
5928
    public:
5929
        /**
5930
         * Parse the format string in `parse_ctx`, and scan the value from
5931
         * `ctx`.
5932
         *
5933
         * \return Any error returned by the scanner
5934
         */
5935
        scan_expected<void> scan(
5936
            typename Context::parse_context_type& parse_ctx,
5937
            Context& ctx) const
5938
0
        {
5939
0
            return m_custom.scan(m_custom.value, &parse_ctx, &ctx);
5940
0
        }
Unexecuted instantiation: scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::handle::scan(scn::v4::basic_scan_parse_context<char>&, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>&) const
Unexecuted instantiation: scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::handle::scan(scn::v4::basic_scan_parse_context<wchar_t>&, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>&) const
5941
5942
    private:
5943
0
        explicit handle(detail::custom_value_type custom) : m_custom(custom) {}
Unexecuted instantiation: scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::handle::handle(scn::v4::detail::custom_value_type)
Unexecuted instantiation: scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::handle::handle(scn::v4::detail::custom_value_type)
5944
5945
        template <typename Visitor, typename C>
5946
        friend constexpr decltype(auto) detail::visit_impl(
5947
            Visitor&& vis,
5948
            basic_scan_arg<C>& arg);
5949
5950
        detail::custom_value_type m_custom;
5951
    };
5952
5953
    /// Construct a `basic_scan_arg` which doesn't contain an argument.
5954
49.4k
    constexpr basic_scan_arg() = default;
scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::basic_scan_arg()
Line
Count
Source
5954
31.4k
    constexpr basic_scan_arg() = default;
scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::basic_scan_arg()
Line
Count
Source
5954
17.9k
    constexpr basic_scan_arg() = default;
5955
5956
    /**
5957
     * @return `true` if `*this` contains an argument
5958
     */
5959
    constexpr explicit operator bool() const noexcept
5960
92.5k
    {
5961
92.5k
        return m_type != detail::arg_type::none_type;
5962
92.5k
    }
scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator bool() const
Line
Count
Source
5960
59.5k
    {
5961
59.5k
        return m_type != detail::arg_type::none_type;
5962
59.5k
    }
scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator bool() const
Line
Count
Source
5960
33.0k
    {
5961
33.0k
        return m_type != detail::arg_type::none_type;
5962
33.0k
    }
5963
5964
    /**
5965
     * Visit a `basic_scan_arg` with `Visitor`.
5966
     * Calls `vis` with the value stored in `*this`.
5967
     * If no value is contained in `*this`, calls `vis` with a `monostate`.
5968
     *
5969
     * \return `vis(x)`, where `x` is either a reference to the value contained
5970
     * in `*this`, or a `basic_scan_arg::handle`.
5971
     */
5972
    template <typename Visitor>
5973
    constexpr decltype(auto) visit(Visitor&& vis);
5974
5975
    template <typename R, typename Visitor>
5976
    constexpr R visit(Visitor&& vis);
5977
5978
private:
5979
    template <typename ContextType, typename T>
5980
    friend constexpr basic_scan_arg<ContextType> detail::make_arg(T& value);
5981
5982
    template <typename C>
5983
    friend constexpr detail::arg_type& detail::get_arg_type(
5984
        basic_scan_arg<C>& arg);
5985
    template <typename C>
5986
    friend constexpr detail::arg_type detail::get_arg_type(
5987
        const basic_scan_arg<C>& arg);
5988
5989
    template <typename C>
5990
    friend constexpr detail::arg_value& detail::get_arg_value(
5991
        basic_scan_arg<C>& arg);
5992
    template <typename C>
5993
    friend constexpr detail::arg_value detail::get_arg_value(
5994
        const basic_scan_arg<C>& arg);
5995
5996
    friend class basic_scan_args<Context>;
5997
5998
    detail::arg_value m_value{};
5999
    detail::arg_type m_type{detail::arg_type::none_type};
6000
};
6001
6002
namespace detail {
6003
template <typename Context>
6004
constexpr arg_type& get_arg_type(basic_scan_arg<Context>& arg)
6005
121k
{
6006
121k
    return arg.m_type;
6007
121k
}
scn::v4::detail::arg_type& scn::v4::detail::get_arg_type<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >(scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&)
Line
Count
Source
6005
79.3k
{
6006
79.3k
    return arg.m_type;
6007
79.3k
}
scn::v4::detail::arg_type& scn::v4::detail::get_arg_type<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >(scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&)
Line
Count
Source
6005
41.8k
{
6006
41.8k
    return arg.m_type;
6007
41.8k
}
6008
6009
template <typename Context>
6010
constexpr arg_type get_arg_type(const basic_scan_arg<Context>& arg)
6011
{
6012
    return arg.m_type;
6013
}
6014
6015
template <typename Context>
6016
constexpr arg_value& get_arg_value(basic_scan_arg<Context>& arg)
6017
43.1k
{
6018
43.1k
    return arg.m_value;
6019
43.1k
}
scn::v4::detail::arg_value& scn::v4::detail::get_arg_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >(scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&)
Line
Count
Source
6017
28.1k
{
6018
28.1k
    return arg.m_value;
6019
28.1k
}
scn::v4::detail::arg_value& scn::v4::detail::get_arg_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >(scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&)
Line
Count
Source
6017
15.0k
{
6018
15.0k
    return arg.m_value;
6019
15.0k
}
6020
6021
template <typename Context>
6022
constexpr arg_value get_arg_value(const basic_scan_arg<Context>& arg)
6023
{
6024
    return arg.m_value;
6025
}
6026
6027
template <typename CharT>
6028
constexpr bool all_types_builtin()
6029
0
{
6030
0
    return true;
6031
0
}
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<char>()
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<wchar_t>()
6032
template <typename CharT, typename T, typename... Args>
6033
constexpr bool all_types_builtin()
6034
0
{
6035
0
    return mapped_type_constant<T, CharT>::value != arg_type::custom_type &&
6036
0
           all_types_builtin<CharT, Args...>();
6037
0
}
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<char, char>()
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<char, int>()
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<char, unsigned int>()
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<char, double>()
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<char, bool>()
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<char, void*>()
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<char, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >>()
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<char, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >>()
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >>()
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<wchar_t, wchar_t>()
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<wchar_t, int>()
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<wchar_t, unsigned int>()
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<wchar_t, double>()
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<wchar_t, bool>()
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<wchar_t, void*>()
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<wchar_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >>()
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<wchar_t, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >>()
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >>()
6038
6039
template <typename CharT, typename... Args>
6040
constexpr scan_arg_store_kind determine_arg_store_kind()
6041
0
{
6042
0
    if (sizeof...(Args) > max_packed_args) {
6043
0
        return scan_arg_store_kind::unpacked;
6044
0
    }
6045
0
#if !(SCN_CLANG && SCN_APPLE)
6046
0
    // This doesn't work on Apple Clang. I don't know why
6047
0
    if (all_types_builtin<CharT, Args...>()) {
6048
0
        return scan_arg_store_kind::builtin;
6049
0
    }
6050
0
#endif
6051
0
    return scan_arg_store_kind::packed;
6052
0
}
Unexecuted instantiation: scn::v4::detail::scan_arg_store_kind scn::v4::detail::determine_arg_store_kind<char, char>()
Unexecuted instantiation: scn::v4::detail::scan_arg_store_kind scn::v4::detail::determine_arg_store_kind<char, int>()
Unexecuted instantiation: scn::v4::detail::scan_arg_store_kind scn::v4::detail::determine_arg_store_kind<char, unsigned int>()
Unexecuted instantiation: scn::v4::detail::scan_arg_store_kind scn::v4::detail::determine_arg_store_kind<char, double>()
Unexecuted instantiation: scn::v4::detail::scan_arg_store_kind scn::v4::detail::determine_arg_store_kind<char, bool>()
Unexecuted instantiation: scn::v4::detail::scan_arg_store_kind scn::v4::detail::determine_arg_store_kind<char, void*>()
Unexecuted instantiation: scn::v4::detail::scan_arg_store_kind scn::v4::detail::determine_arg_store_kind<char, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
Unexecuted instantiation: scn::v4::detail::scan_arg_store_kind scn::v4::detail::determine_arg_store_kind<char, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >()
Unexecuted instantiation: scn::v4::detail::scan_arg_store_kind scn::v4::detail::determine_arg_store_kind<char, std::__1::basic_string_view<char, std::__1::char_traits<char> > >()
Unexecuted instantiation: scn::v4::detail::scan_arg_store_kind scn::v4::detail::determine_arg_store_kind<wchar_t, wchar_t>()
Unexecuted instantiation: scn::v4::detail::scan_arg_store_kind scn::v4::detail::determine_arg_store_kind<wchar_t, int>()
Unexecuted instantiation: scn::v4::detail::scan_arg_store_kind scn::v4::detail::determine_arg_store_kind<wchar_t, unsigned int>()
Unexecuted instantiation: scn::v4::detail::scan_arg_store_kind scn::v4::detail::determine_arg_store_kind<wchar_t, double>()
Unexecuted instantiation: scn::v4::detail::scan_arg_store_kind scn::v4::detail::determine_arg_store_kind<wchar_t, bool>()
Unexecuted instantiation: scn::v4::detail::scan_arg_store_kind scn::v4::detail::determine_arg_store_kind<wchar_t, void*>()
Unexecuted instantiation: scn::v4::detail::scan_arg_store_kind scn::v4::detail::determine_arg_store_kind<wchar_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
Unexecuted instantiation: scn::v4::detail::scan_arg_store_kind scn::v4::detail::determine_arg_store_kind<wchar_t, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >()
Unexecuted instantiation: scn::v4::detail::scan_arg_store_kind scn::v4::detail::determine_arg_store_kind<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >()
6053
6054
template <scan_arg_store_kind Kind, typename CharT, typename... Args>
6055
constexpr size_t compute_arg_store_desc()
6056
0
{
6057
0
    if constexpr (Kind == scan_arg_store_kind::builtin) {
6058
0
        return encode_types<CharT, Args...>();
6059
0
    }
6060
0
    else if constexpr (Kind == scan_arg_store_kind::packed) {
6061
0
        return encode_types<CharT, Args...>() | has_custom_types_bit;
6062
0
    }
6063
0
    else {
6064
0
        return sizeof...(Args) | is_unpacked_bit;
6065
0
    }
6066
0
}
Unexecuted instantiation: unsigned long scn::v4::detail::compute_arg_store_desc<(scn::v4::detail::scan_arg_store_kind)0, char, char>()
Unexecuted instantiation: unsigned long scn::v4::detail::compute_arg_store_desc<(scn::v4::detail::scan_arg_store_kind)0, char, int>()
Unexecuted instantiation: unsigned long scn::v4::detail::compute_arg_store_desc<(scn::v4::detail::scan_arg_store_kind)0, char, unsigned int>()
Unexecuted instantiation: unsigned long scn::v4::detail::compute_arg_store_desc<(scn::v4::detail::scan_arg_store_kind)0, char, double>()
Unexecuted instantiation: unsigned long scn::v4::detail::compute_arg_store_desc<(scn::v4::detail::scan_arg_store_kind)0, char, bool>()
Unexecuted instantiation: unsigned long scn::v4::detail::compute_arg_store_desc<(scn::v4::detail::scan_arg_store_kind)0, char, void*>()
Unexecuted instantiation: unsigned long scn::v4::detail::compute_arg_store_desc<(scn::v4::detail::scan_arg_store_kind)0, char, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
Unexecuted instantiation: unsigned long scn::v4::detail::compute_arg_store_desc<(scn::v4::detail::scan_arg_store_kind)0, char, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >()
Unexecuted instantiation: unsigned long scn::v4::detail::compute_arg_store_desc<(scn::v4::detail::scan_arg_store_kind)0, char, std::__1::basic_string_view<char, std::__1::char_traits<char> > >()
Unexecuted instantiation: unsigned long scn::v4::detail::compute_arg_store_desc<(scn::v4::detail::scan_arg_store_kind)0, wchar_t, wchar_t>()
Unexecuted instantiation: unsigned long scn::v4::detail::compute_arg_store_desc<(scn::v4::detail::scan_arg_store_kind)0, wchar_t, int>()
Unexecuted instantiation: unsigned long scn::v4::detail::compute_arg_store_desc<(scn::v4::detail::scan_arg_store_kind)0, wchar_t, unsigned int>()
Unexecuted instantiation: unsigned long scn::v4::detail::compute_arg_store_desc<(scn::v4::detail::scan_arg_store_kind)0, wchar_t, double>()
Unexecuted instantiation: unsigned long scn::v4::detail::compute_arg_store_desc<(scn::v4::detail::scan_arg_store_kind)0, wchar_t, bool>()
Unexecuted instantiation: unsigned long scn::v4::detail::compute_arg_store_desc<(scn::v4::detail::scan_arg_store_kind)0, wchar_t, void*>()
Unexecuted instantiation: unsigned long scn::v4::detail::compute_arg_store_desc<(scn::v4::detail::scan_arg_store_kind)0, wchar_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
Unexecuted instantiation: unsigned long scn::v4::detail::compute_arg_store_desc<(scn::v4::detail::scan_arg_store_kind)0, wchar_t, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >()
Unexecuted instantiation: unsigned long scn::v4::detail::compute_arg_store_desc<(scn::v4::detail::scan_arg_store_kind)0, wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >()
6067
6068
template <typename Context, typename... Args>
6069
class scan_arg_store {
6070
public:
6071
    static constexpr scan_arg_store_kind kind =
6072
        determine_arg_store_kind<typename Context::char_type, Args...>();
6073
    static constexpr size_t desc =
6074
        compute_arg_store_desc<kind, typename Context::char_type, Args...>();
6075
6076
    using argptr_type = std::conditional_t<
6077
        kind == scan_arg_store_kind::builtin,
6078
        void*,
6079
        std::conditional_t<kind == scan_arg_store_kind::packed,
6080
                           arg_value,
6081
                           basic_scan_arg<Context>>>;
6082
    using argptrs_type = std::array<argptr_type, sizeof...(Args)>;
6083
6084
    constexpr explicit scan_arg_store(std::tuple<Args...>& args)
6085
151k
        : args(std::apply(make_argptrs<Args...>, args))
6086
151k
    {
6087
151k
    }
scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, char>::scan_arg_store(std::__1::tuple<char>&)
Line
Count
Source
6085
5.62k
        : args(std::apply(make_argptrs<Args...>, args))
6086
5.62k
    {
6087
5.62k
    }
scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, int>::scan_arg_store(std::__1::tuple<int>&)
Line
Count
Source
6085
5.62k
        : args(std::apply(make_argptrs<Args...>, args))
6086
5.62k
    {
6087
5.62k
    }
scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, unsigned int>::scan_arg_store(std::__1::tuple<unsigned int>&)
Line
Count
Source
6085
5.62k
        : args(std::apply(make_argptrs<Args...>, args))
6086
5.62k
    {
6087
5.62k
    }
scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, double>::scan_arg_store(std::__1::tuple<double>&)
Line
Count
Source
6085
5.62k
        : args(std::apply(make_argptrs<Args...>, args))
6086
5.62k
    {
6087
5.62k
    }
scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, bool>::scan_arg_store(std::__1::tuple<bool>&)
Line
Count
Source
6085
5.62k
        : args(std::apply(make_argptrs<Args...>, args))
6086
5.62k
    {
6087
5.62k
    }
scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, void*>::scan_arg_store(std::__1::tuple<void*>&)
Line
Count
Source
6085
5.62k
        : args(std::apply(make_argptrs<Args...>, args))
6086
5.62k
    {
6087
5.62k
    }
scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_arg_store(std::__1::tuple<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&)
Line
Count
Source
6085
5.62k
        : args(std::apply(make_argptrs<Args...>, args))
6086
5.62k
    {
6087
5.62k
    }
scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::scan_arg_store(std::__1::tuple<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&)
Line
Count
Source
6085
5.62k
        : args(std::apply(make_argptrs<Args...>, args))
6086
5.62k
    {
6087
5.62k
    }
scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >::scan_arg_store(std::__1::tuple<std::__1::basic_string_view<char, std::__1::char_traits<char> > >&)
Line
Count
Source
6085
5.62k
        : args(std::apply(make_argptrs<Args...>, args))
6086
5.62k
    {
6087
5.62k
    }
scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, wchar_t>::scan_arg_store(std::__1::tuple<wchar_t>&)
Line
Count
Source
6085
11.2k
        : args(std::apply(make_argptrs<Args...>, args))
6086
11.2k
    {
6087
11.2k
    }
scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, int>::scan_arg_store(std::__1::tuple<int>&)
Line
Count
Source
6085
11.2k
        : args(std::apply(make_argptrs<Args...>, args))
6086
11.2k
    {
6087
11.2k
    }
scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, unsigned int>::scan_arg_store(std::__1::tuple<unsigned int>&)
Line
Count
Source
6085
11.2k
        : args(std::apply(make_argptrs<Args...>, args))
6086
11.2k
    {
6087
11.2k
    }
scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, double>::scan_arg_store(std::__1::tuple<double>&)
Line
Count
Source
6085
11.2k
        : args(std::apply(make_argptrs<Args...>, args))
6086
11.2k
    {
6087
11.2k
    }
scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, bool>::scan_arg_store(std::__1::tuple<bool>&)
Line
Count
Source
6085
11.2k
        : args(std::apply(make_argptrs<Args...>, args))
6086
11.2k
    {
6087
11.2k
    }
scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, void*>::scan_arg_store(std::__1::tuple<void*>&)
Line
Count
Source
6085
11.2k
        : args(std::apply(make_argptrs<Args...>, args))
6086
11.2k
    {
6087
11.2k
    }
scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_arg_store(std::__1::tuple<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&)
Line
Count
Source
6085
11.2k
        : args(std::apply(make_argptrs<Args...>, args))
6086
11.2k
    {
6087
11.2k
    }
scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::scan_arg_store(std::__1::tuple<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&)
Line
Count
Source
6085
11.2k
        : args(std::apply(make_argptrs<Args...>, args))
6086
11.2k
    {
6087
11.2k
    }
scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::scan_arg_store(std::__1::tuple<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >&)
Line
Count
Source
6085
11.2k
        : args(std::apply(make_argptrs<Args...>, args))
6086
11.2k
    {
6087
11.2k
    }
6088
6089
    argptrs_type args;
6090
6091
private:
6092
    template <typename... A>
6093
    static constexpr argptrs_type make_argptrs(A&... args)
6094
151k
    {
6095
151k
        return {detail::make_arg<
6096
151k
            kind, Context,
6097
151k
            mapped_type_constant<remove_cvref_t<A>,
6098
151k
                                 typename Context::char_type>::value>(args)...};
6099
151k
    }
std::__1::array<void*, 1ul> scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, char>::make_argptrs<char>(char&)
Line
Count
Source
6094
5.62k
    {
6095
5.62k
        return {detail::make_arg<
6096
5.62k
            kind, Context,
6097
5.62k
            mapped_type_constant<remove_cvref_t<A>,
6098
5.62k
                                 typename Context::char_type>::value>(args)...};
6099
5.62k
    }
std::__1::array<void*, 1ul> scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, int>::make_argptrs<int>(int&)
Line
Count
Source
6094
5.62k
    {
6095
5.62k
        return {detail::make_arg<
6096
5.62k
            kind, Context,
6097
5.62k
            mapped_type_constant<remove_cvref_t<A>,
6098
5.62k
                                 typename Context::char_type>::value>(args)...};
6099
5.62k
    }
std::__1::array<void*, 1ul> scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, unsigned int>::make_argptrs<unsigned int>(unsigned int&)
Line
Count
Source
6094
5.62k
    {
6095
5.62k
        return {detail::make_arg<
6096
5.62k
            kind, Context,
6097
5.62k
            mapped_type_constant<remove_cvref_t<A>,
6098
5.62k
                                 typename Context::char_type>::value>(args)...};
6099
5.62k
    }
std::__1::array<void*, 1ul> scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, double>::make_argptrs<double>(double&)
Line
Count
Source
6094
5.62k
    {
6095
5.62k
        return {detail::make_arg<
6096
5.62k
            kind, Context,
6097
5.62k
            mapped_type_constant<remove_cvref_t<A>,
6098
5.62k
                                 typename Context::char_type>::value>(args)...};
6099
5.62k
    }
std::__1::array<void*, 1ul> scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, bool>::make_argptrs<bool>(bool&)
Line
Count
Source
6094
5.62k
    {
6095
5.62k
        return {detail::make_arg<
6096
5.62k
            kind, Context,
6097
5.62k
            mapped_type_constant<remove_cvref_t<A>,
6098
5.62k
                                 typename Context::char_type>::value>(args)...};
6099
5.62k
    }
std::__1::array<void*, 1ul> scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, void*>::make_argptrs<void*>(void*&)
Line
Count
Source
6094
5.62k
    {
6095
5.62k
        return {detail::make_arg<
6096
5.62k
            kind, Context,
6097
5.62k
            mapped_type_constant<remove_cvref_t<A>,
6098
5.62k
                                 typename Context::char_type>::value>(args)...};
6099
5.62k
    }
std::__1::array<void*, 1ul> scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::make_argptrs<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
6094
5.62k
    {
6095
5.62k
        return {detail::make_arg<
6096
5.62k
            kind, Context,
6097
5.62k
            mapped_type_constant<remove_cvref_t<A>,
6098
5.62k
                                 typename Context::char_type>::value>(args)...};
6099
5.62k
    }
std::__1::array<void*, 1ul> scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::make_argptrs<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
6094
5.62k
    {
6095
5.62k
        return {detail::make_arg<
6096
5.62k
            kind, Context,
6097
5.62k
            mapped_type_constant<remove_cvref_t<A>,
6098
5.62k
                                 typename Context::char_type>::value>(args)...};
6099
5.62k
    }
std::__1::array<void*, 1ul> scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >::make_argptrs<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Line
Count
Source
6094
5.62k
    {
6095
5.62k
        return {detail::make_arg<
6096
5.62k
            kind, Context,
6097
5.62k
            mapped_type_constant<remove_cvref_t<A>,
6098
5.62k
                                 typename Context::char_type>::value>(args)...};
6099
5.62k
    }
std::__1::array<void*, 1ul> scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, wchar_t>::make_argptrs<wchar_t>(wchar_t&)
Line
Count
Source
6094
11.2k
    {
6095
11.2k
        return {detail::make_arg<
6096
11.2k
            kind, Context,
6097
11.2k
            mapped_type_constant<remove_cvref_t<A>,
6098
11.2k
                                 typename Context::char_type>::value>(args)...};
6099
11.2k
    }
std::__1::array<void*, 1ul> scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, int>::make_argptrs<int>(int&)
Line
Count
Source
6094
11.2k
    {
6095
11.2k
        return {detail::make_arg<
6096
11.2k
            kind, Context,
6097
11.2k
            mapped_type_constant<remove_cvref_t<A>,
6098
11.2k
                                 typename Context::char_type>::value>(args)...};
6099
11.2k
    }
std::__1::array<void*, 1ul> scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, unsigned int>::make_argptrs<unsigned int>(unsigned int&)
Line
Count
Source
6094
11.2k
    {
6095
11.2k
        return {detail::make_arg<
6096
11.2k
            kind, Context,
6097
11.2k
            mapped_type_constant<remove_cvref_t<A>,
6098
11.2k
                                 typename Context::char_type>::value>(args)...};
6099
11.2k
    }
std::__1::array<void*, 1ul> scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, double>::make_argptrs<double>(double&)
Line
Count
Source
6094
11.2k
    {
6095
11.2k
        return {detail::make_arg<
6096
11.2k
            kind, Context,
6097
11.2k
            mapped_type_constant<remove_cvref_t<A>,
6098
11.2k
                                 typename Context::char_type>::value>(args)...};
6099
11.2k
    }
std::__1::array<void*, 1ul> scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, bool>::make_argptrs<bool>(bool&)
Line
Count
Source
6094
11.2k
    {
6095
11.2k
        return {detail::make_arg<
6096
11.2k
            kind, Context,
6097
11.2k
            mapped_type_constant<remove_cvref_t<A>,
6098
11.2k
                                 typename Context::char_type>::value>(args)...};
6099
11.2k
    }
std::__1::array<void*, 1ul> scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, void*>::make_argptrs<void*>(void*&)
Line
Count
Source
6094
11.2k
    {
6095
11.2k
        return {detail::make_arg<
6096
11.2k
            kind, Context,
6097
11.2k
            mapped_type_constant<remove_cvref_t<A>,
6098
11.2k
                                 typename Context::char_type>::value>(args)...};
6099
11.2k
    }
std::__1::array<void*, 1ul> scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::make_argptrs<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
6094
11.2k
    {
6095
11.2k
        return {detail::make_arg<
6096
11.2k
            kind, Context,
6097
11.2k
            mapped_type_constant<remove_cvref_t<A>,
6098
11.2k
                                 typename Context::char_type>::value>(args)...};
6099
11.2k
    }
std::__1::array<void*, 1ul> scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::make_argptrs<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
6094
11.2k
    {
6095
11.2k
        return {detail::make_arg<
6096
11.2k
            kind, Context,
6097
11.2k
            mapped_type_constant<remove_cvref_t<A>,
6098
11.2k
                                 typename Context::char_type>::value>(args)...};
6099
11.2k
    }
std::__1::array<void*, 1ul> scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::make_argptrs<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
Line
Count
Source
6094
11.2k
    {
6095
11.2k
        return {detail::make_arg<
6096
11.2k
            kind, Context,
6097
11.2k
            mapped_type_constant<remove_cvref_t<A>,
6098
11.2k
                                 typename Context::char_type>::value>(args)...};
6099
11.2k
    }
6100
};
6101
6102
}  // namespace detail
6103
6104
/**
6105
 * Creates a type-erased argument store over the arguments in `values`.
6106
 */
6107
template <typename Context = scan_context, typename... Args>
6108
constexpr auto make_scan_args(std::tuple<Args...>& values)
6109
151k
{
6110
151k
    detail::check_scan_arg_types<Args...>();
6111
151k
    return detail::scan_arg_store<Context, Args...>(values);
6112
151k
}
auto scn::v4::make_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, char>(std::__1::tuple<char>&)
Line
Count
Source
6109
5.62k
{
6110
5.62k
    detail::check_scan_arg_types<Args...>();
6111
5.62k
    return detail::scan_arg_store<Context, Args...>(values);
6112
5.62k
}
auto scn::v4::make_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, int>(std::__1::tuple<int>&)
Line
Count
Source
6109
5.62k
{
6110
5.62k
    detail::check_scan_arg_types<Args...>();
6111
5.62k
    return detail::scan_arg_store<Context, Args...>(values);
6112
5.62k
}
auto scn::v4::make_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, unsigned int>(std::__1::tuple<unsigned int>&)
Line
Count
Source
6109
5.62k
{
6110
5.62k
    detail::check_scan_arg_types<Args...>();
6111
5.62k
    return detail::scan_arg_store<Context, Args...>(values);
6112
5.62k
}
auto scn::v4::make_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, double>(std::__1::tuple<double>&)
Line
Count
Source
6109
5.62k
{
6110
5.62k
    detail::check_scan_arg_types<Args...>();
6111
5.62k
    return detail::scan_arg_store<Context, Args...>(values);
6112
5.62k
}
auto scn::v4::make_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, bool>(std::__1::tuple<bool>&)
Line
Count
Source
6109
5.62k
{
6110
5.62k
    detail::check_scan_arg_types<Args...>();
6111
5.62k
    return detail::scan_arg_store<Context, Args...>(values);
6112
5.62k
}
auto scn::v4::make_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, void*>(std::__1::tuple<void*>&)
Line
Count
Source
6109
5.62k
{
6110
5.62k
    detail::check_scan_arg_types<Args...>();
6111
5.62k
    return detail::scan_arg_store<Context, Args...>(values);
6112
5.62k
}
auto scn::v4::make_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::tuple<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&)
Line
Count
Source
6109
5.62k
{
6110
5.62k
    detail::check_scan_arg_types<Args...>();
6111
5.62k
    return detail::scan_arg_store<Context, Args...>(values);
6112
5.62k
}
auto scn::v4::make_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::tuple<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&)
Line
Count
Source
6109
5.62k
{
6110
5.62k
    detail::check_scan_arg_types<Args...>();
6111
5.62k
    return detail::scan_arg_store<Context, Args...>(values);
6112
5.62k
}
auto scn::v4::make_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::tuple<std::__1::basic_string_view<char, std::__1::char_traits<char> > >&)
Line
Count
Source
6109
5.62k
{
6110
5.62k
    detail::check_scan_arg_types<Args...>();
6111
5.62k
    return detail::scan_arg_store<Context, Args...>(values);
6112
5.62k
}
auto scn::v4::make_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, wchar_t>(std::__1::tuple<wchar_t>&)
Line
Count
Source
6109
11.2k
{
6110
11.2k
    detail::check_scan_arg_types<Args...>();
6111
11.2k
    return detail::scan_arg_store<Context, Args...>(values);
6112
11.2k
}
auto scn::v4::make_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, int>(std::__1::tuple<int>&)
Line
Count
Source
6109
11.2k
{
6110
11.2k
    detail::check_scan_arg_types<Args...>();
6111
11.2k
    return detail::scan_arg_store<Context, Args...>(values);
6112
11.2k
}
auto scn::v4::make_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, unsigned int>(std::__1::tuple<unsigned int>&)
Line
Count
Source
6109
11.2k
{
6110
11.2k
    detail::check_scan_arg_types<Args...>();
6111
11.2k
    return detail::scan_arg_store<Context, Args...>(values);
6112
11.2k
}
auto scn::v4::make_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, double>(std::__1::tuple<double>&)
Line
Count
Source
6109
11.2k
{
6110
11.2k
    detail::check_scan_arg_types<Args...>();
6111
11.2k
    return detail::scan_arg_store<Context, Args...>(values);
6112
11.2k
}
auto scn::v4::make_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, bool>(std::__1::tuple<bool>&)
Line
Count
Source
6109
11.2k
{
6110
11.2k
    detail::check_scan_arg_types<Args...>();
6111
11.2k
    return detail::scan_arg_store<Context, Args...>(values);
6112
11.2k
}
auto scn::v4::make_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, void*>(std::__1::tuple<void*>&)
Line
Count
Source
6109
11.2k
{
6110
11.2k
    detail::check_scan_arg_types<Args...>();
6111
11.2k
    return detail::scan_arg_store<Context, Args...>(values);
6112
11.2k
}
auto scn::v4::make_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::tuple<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&)
Line
Count
Source
6109
11.2k
{
6110
11.2k
    detail::check_scan_arg_types<Args...>();
6111
11.2k
    return detail::scan_arg_store<Context, Args...>(values);
6112
11.2k
}
auto scn::v4::make_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::tuple<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&)
Line
Count
Source
6109
11.2k
{
6110
11.2k
    detail::check_scan_arg_types<Args...>();
6111
11.2k
    return detail::scan_arg_store<Context, Args...>(values);
6112
11.2k
}
auto scn::v4::make_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::tuple<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >&)
Line
Count
Source
6109
11.2k
{
6110
11.2k
    detail::check_scan_arg_types<Args...>();
6111
11.2k
    return detail::scan_arg_store<Context, Args...>(values);
6112
11.2k
}
6113
6114
template <typename... Args>
6115
constexpr auto make_wscan_args(std::tuple<Args...>& values)
6116
{
6117
    detail::check_scan_arg_types<Args...>();
6118
    return detail::scan_arg_store<wscan_context, Args...>(values);
6119
}
6120
6121
/**
6122
 * A view over a collection of scanning arguments (`scan_arg_store`).
6123
 *
6124
 * Passed to `scn::vscan`, where it's automatically constructed from a
6125
 * `scan_arg_store`.
6126
 */
6127
template <typename Context>
6128
class basic_scan_args {
6129
public:
6130
0
    constexpr basic_scan_args() = default;
Unexecuted instantiation: scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::basic_scan_args()
Unexecuted instantiation: scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::basic_scan_args()
6131
6132
    template <typename... Args>
6133
    SCN_IMPLICIT constexpr basic_scan_args(
6134
        const detail::scan_arg_store<Context, Args...>& store)
6135
151k
        : basic_scan_args(store.desc, store.args.data())
6136
151k
    {
6137
151k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::basic_scan_args<char>(scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, char> const&)
Line
Count
Source
6135
5.62k
        : basic_scan_args(store.desc, store.args.data())
6136
5.62k
    {
6137
5.62k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::basic_scan_args<int>(scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, int> const&)
Line
Count
Source
6135
5.62k
        : basic_scan_args(store.desc, store.args.data())
6136
5.62k
    {
6137
5.62k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::basic_scan_args<unsigned int>(scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, unsigned int> const&)
Line
Count
Source
6135
5.62k
        : basic_scan_args(store.desc, store.args.data())
6136
5.62k
    {
6137
5.62k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::basic_scan_args<double>(scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, double> const&)
Line
Count
Source
6135
5.62k
        : basic_scan_args(store.desc, store.args.data())
6136
5.62k
    {
6137
5.62k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::basic_scan_args<bool>(scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, bool> const&)
Line
Count
Source
6135
5.62k
        : basic_scan_args(store.desc, store.args.data())
6136
5.62k
    {
6137
5.62k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::basic_scan_args<void*>(scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, void*> const&)
Line
Count
Source
6135
5.62k
        : basic_scan_args(store.desc, store.args.data())
6136
5.62k
    {
6137
5.62k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::basic_scan_args<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > const&)
Line
Count
Source
6135
5.62k
        : basic_scan_args(store.desc, store.args.data())
6136
5.62k
    {
6137
5.62k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::basic_scan_args<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > const&)
Line
Count
Source
6135
5.62k
        : basic_scan_args(store.desc, store.args.data())
6136
5.62k
    {
6137
5.62k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::basic_scan_args<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, std::__1::basic_string_view<char, std::__1::char_traits<char> > > const&)
Line
Count
Source
6135
5.62k
        : basic_scan_args(store.desc, store.args.data())
6136
5.62k
    {
6137
5.62k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::basic_scan_args<wchar_t>(scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, wchar_t> const&)
Line
Count
Source
6135
11.2k
        : basic_scan_args(store.desc, store.args.data())
6136
11.2k
    {
6137
11.2k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::basic_scan_args<int>(scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, int> const&)
Line
Count
Source
6135
11.2k
        : basic_scan_args(store.desc, store.args.data())
6136
11.2k
    {
6137
11.2k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::basic_scan_args<unsigned int>(scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, unsigned int> const&)
Line
Count
Source
6135
11.2k
        : basic_scan_args(store.desc, store.args.data())
6136
11.2k
    {
6137
11.2k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::basic_scan_args<double>(scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, double> const&)
Line
Count
Source
6135
11.2k
        : basic_scan_args(store.desc, store.args.data())
6136
11.2k
    {
6137
11.2k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::basic_scan_args<bool>(scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, bool> const&)
Line
Count
Source
6135
11.2k
        : basic_scan_args(store.desc, store.args.data())
6136
11.2k
    {
6137
11.2k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::basic_scan_args<void*>(scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, void*> const&)
Line
Count
Source
6135
11.2k
        : basic_scan_args(store.desc, store.args.data())
6136
11.2k
    {
6137
11.2k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::basic_scan_args<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > const&)
Line
Count
Source
6135
11.2k
        : basic_scan_args(store.desc, store.args.data())
6136
11.2k
    {
6137
11.2k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::basic_scan_args<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > const&)
Line
Count
Source
6135
11.2k
        : basic_scan_args(store.desc, store.args.data())
6136
11.2k
    {
6137
11.2k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::basic_scan_args<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > const&)
Line
Count
Source
6135
11.2k
        : basic_scan_args(store.desc, store.args.data())
6136
11.2k
    {
6137
11.2k
    }
6138
6139
    /**
6140
     * \return `basic_scan_arg` at index `id`. Empty `basic_scan_arg` if
6141
     * there's no argument at index `id`.
6142
     */
6143
    SCN_NODISCARD constexpr basic_scan_arg<Context> get(std::size_t id) const
6144
49.4k
    {
6145
49.4k
        if (SCN_UNLIKELY(!is_packed())) {
6146
0
            if (SCN_LIKELY(id < max_size())) {
6147
0
                return m_args[id];
6148
0
            }
6149
0
            return {};
6150
0
        }
6151
6152
49.4k
        if (SCN_UNLIKELY(id >= detail::max_packed_args)) {
6153
136
            return {};
6154
136
        }
6155
6156
49.2k
        const auto t = type(id);
6157
49.2k
        if (SCN_UNLIKELY(t == detail::arg_type::none_type)) {
6158
2.33k
            return {};
6159
2.33k
        }
6160
6161
46.9k
        basic_scan_arg<Context> arg;
6162
46.9k
        arg.m_type = t;
6163
46.9k
        if (is_only_builtin()) {
6164
46.9k
            arg.m_value.ref_value = m_builtin_values[id];
6165
46.9k
        }
6166
0
        else {
6167
0
            arg.m_value = m_values[id];
6168
0
        }
6169
46.9k
        return arg;
6170
49.2k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::get(unsigned long) const
Line
Count
Source
6144
31.4k
    {
6145
31.4k
        if (SCN_UNLIKELY(!is_packed())) {
6146
0
            if (SCN_LIKELY(id < max_size())) {
6147
0
                return m_args[id];
6148
0
            }
6149
0
            return {};
6150
0
        }
6151
6152
31.4k
        if (SCN_UNLIKELY(id >= detail::max_packed_args)) {
6153
68
            return {};
6154
68
        }
6155
6156
31.3k
        const auto t = type(id);
6157
31.3k
        if (SCN_UNLIKELY(t == detail::arg_type::none_type)) {
6158
1.30k
            return {};
6159
1.30k
        }
6160
6161
30.0k
        basic_scan_arg<Context> arg;
6162
30.0k
        arg.m_type = t;
6163
30.0k
        if (is_only_builtin()) {
6164
30.0k
            arg.m_value.ref_value = m_builtin_values[id];
6165
30.0k
        }
6166
0
        else {
6167
0
            arg.m_value = m_values[id];
6168
0
        }
6169
30.0k
        return arg;
6170
31.3k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::get(unsigned long) const
Line
Count
Source
6144
17.9k
    {
6145
17.9k
        if (SCN_UNLIKELY(!is_packed())) {
6146
0
            if (SCN_LIKELY(id < max_size())) {
6147
0
                return m_args[id];
6148
0
            }
6149
0
            return {};
6150
0
        }
6151
6152
17.9k
        if (SCN_UNLIKELY(id >= detail::max_packed_args)) {
6153
68
            return {};
6154
68
        }
6155
6156
17.9k
        const auto t = type(id);
6157
17.9k
        if (SCN_UNLIKELY(t == detail::arg_type::none_type)) {
6158
1.02k
            return {};
6159
1.02k
        }
6160
6161
16.8k
        basic_scan_arg<Context> arg;
6162
16.8k
        arg.m_type = t;
6163
16.8k
        if (is_only_builtin()) {
6164
16.8k
            arg.m_value.ref_value = m_builtin_values[id];
6165
16.8k
        }
6166
0
        else {
6167
0
            arg.m_value = m_values[id];
6168
0
        }
6169
16.8k
        return arg;
6170
17.9k
    }
6171
6172
    /**
6173
     * \return Number of arguments in `*this`.
6174
     */
6175
    SCN_NODISCARD constexpr std::size_t size() const
6176
151k
    {
6177
151k
        if (SCN_UNLIKELY(!is_packed())) {
6178
0
            return max_size();
6179
0
        }
6180
6181
151k
        return static_cast<std::size_t>(m_desc &
6182
151k
                                        ((1 << detail::packed_arg_bits) - 1));
6183
151k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::size() const
Line
Count
Source
6176
50.6k
    {
6177
50.6k
        if (SCN_UNLIKELY(!is_packed())) {
6178
0
            return max_size();
6179
0
        }
6180
6181
50.6k
        return static_cast<std::size_t>(m_desc &
6182
50.6k
                                        ((1 << detail::packed_arg_bits) - 1));
6183
50.6k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::size() const
Line
Count
Source
6176
101k
    {
6177
101k
        if (SCN_UNLIKELY(!is_packed())) {
6178
0
            return max_size();
6179
0
        }
6180
6181
101k
        return static_cast<std::size_t>(m_desc &
6182
101k
                                        ((1 << detail::packed_arg_bits) - 1));
6183
101k
    }
6184
6185
private:
6186
    constexpr explicit basic_scan_args(size_t desc, void* const* data)
6187
151k
        : m_desc(desc), m_builtin_values(data)
6188
151k
    {
6189
151k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::basic_scan_args(unsigned long, void* const*)
Line
Count
Source
6187
50.6k
        : m_desc(desc), m_builtin_values(data)
6188
50.6k
    {
6189
50.6k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::basic_scan_args(unsigned long, void* const*)
Line
Count
Source
6187
101k
        : m_desc(desc), m_builtin_values(data)
6188
101k
    {
6189
101k
    }
6190
    constexpr explicit basic_scan_args(size_t desc,
6191
                                       const detail::arg_value* data)
6192
        : m_desc(desc), m_values(data)
6193
    {
6194
    }
6195
    constexpr explicit basic_scan_args(size_t desc,
6196
                                       const basic_scan_arg<Context>* data)
6197
        : m_desc(desc), m_args(data)
6198
    {
6199
    }
6200
6201
    SCN_NODISCARD constexpr bool is_packed() const
6202
201k
    {
6203
201k
        return (m_desc & detail::is_unpacked_bit) == 0;
6204
201k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::is_packed() const
Line
Count
Source
6202
82.0k
    {
6203
82.0k
        return (m_desc & detail::is_unpacked_bit) == 0;
6204
82.0k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::is_packed() const
Line
Count
Source
6202
119k
    {
6203
119k
        return (m_desc & detail::is_unpacked_bit) == 0;
6204
119k
    }
6205
    SCN_NODISCARD constexpr bool is_only_builtin() const
6206
46.9k
    {
6207
46.9k
        return (m_desc & detail::has_custom_types_bit) == 0;
6208
46.9k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::is_only_builtin() const
Line
Count
Source
6206
30.0k
    {
6207
30.0k
        return (m_desc & detail::has_custom_types_bit) == 0;
6208
30.0k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::is_only_builtin() const
Line
Count
Source
6206
16.8k
    {
6207
16.8k
        return (m_desc & detail::has_custom_types_bit) == 0;
6208
16.8k
    }
6209
6210
    SCN_NODISCARD constexpr detail::arg_type type(std::size_t index) const
6211
49.2k
    {
6212
        // First (0th) index is size, types start after that
6213
49.2k
        const auto shift = (index + 1) * detail::packed_arg_bits;
6214
49.2k
        const std::size_t mask = (1 << detail::packed_arg_bits) - 1;
6215
49.2k
        return static_cast<detail::arg_type>((m_desc >> shift) & mask);
6216
49.2k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::type(unsigned long) const
Line
Count
Source
6211
31.3k
    {
6212
        // First (0th) index is size, types start after that
6213
31.3k
        const auto shift = (index + 1) * detail::packed_arg_bits;
6214
31.3k
        const std::size_t mask = (1 << detail::packed_arg_bits) - 1;
6215
31.3k
        return static_cast<detail::arg_type>((m_desc >> shift) & mask);
6216
31.3k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::type(unsigned long) const
Line
Count
Source
6211
17.9k
    {
6212
        // First (0th) index is size, types start after that
6213
17.9k
        const auto shift = (index + 1) * detail::packed_arg_bits;
6214
17.9k
        const std::size_t mask = (1 << detail::packed_arg_bits) - 1;
6215
17.9k
        return static_cast<detail::arg_type>((m_desc >> shift) & mask);
6216
17.9k
    }
6217
6218
    SCN_NODISCARD constexpr std::size_t max_size() const
6219
0
    {
6220
0
        return SCN_LIKELY(is_packed()) ? detail::max_packed_args
6221
0
                                       : (m_desc & ~detail::is_unpacked_bit &
6222
0
                                          ~detail::has_custom_types_bit);
6223
0
    }
Unexecuted instantiation: scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::max_size() const
Unexecuted instantiation: scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::max_size() const
6224
6225
    size_t m_desc{0};
6226
    union {
6227
        void* const* m_builtin_values;
6228
        const detail::arg_value* m_values;
6229
        const basic_scan_arg<Context>* m_args{nullptr};
6230
    };
6231
};
6232
6233
/////////////////////////////////////////////////////////////////
6234
// scan_parse_context
6235
/////////////////////////////////////////////////////////////////
6236
6237
/**
6238
 * Format string parsing context, wrapping the format string being parsed,
6239
 * and a counter for argument indexing.
6240
 *
6241
 * \ingroup ctx
6242
 */
6243
template <typename CharT>
6244
class basic_scan_parse_context {
6245
public:
6246
    using char_type = CharT;
6247
    using iterator = typename std::basic_string_view<CharT>::const_pointer;
6248
    using const_iterator = iterator;
6249
6250
    /**
6251
     * Construct a `basic_scan_parse_context` over a format string `format`.
6252
     */
6253
    explicit constexpr basic_scan_parse_context(
6254
        std::basic_string_view<CharT> format,
6255
        int next_arg_id = 0)
6256
151k
        : m_format{format}, m_next_arg_id{next_arg_id}
6257
151k
    {
6258
151k
    }
scn::v4::basic_scan_parse_context<char>::basic_scan_parse_context(std::__1::basic_string_view<char, std::__1::char_traits<char> >, int)
Line
Count
Source
6256
50.6k
        : m_format{format}, m_next_arg_id{next_arg_id}
6257
50.6k
    {
6258
50.6k
    }
scn::v4::basic_scan_parse_context<wchar_t>::basic_scan_parse_context(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, int)
Line
Count
Source
6256
101k
        : m_format{format}, m_next_arg_id{next_arg_id}
6257
101k
    {
6258
101k
    }
6259
6260
    basic_scan_parse_context(const basic_scan_parse_context&) = delete;
6261
    basic_scan_parse_context& operator=(const basic_scan_parse_context&) =
6262
        delete;
6263
    basic_scan_parse_context(basic_scan_parse_context&&) = delete;
6264
    basic_scan_parse_context& operator=(basic_scan_parse_context&&) = delete;
6265
    ~basic_scan_parse_context() = default;
6266
6267
    /// Returns an iterator pointing to the beginning of the format string
6268
    constexpr auto begin() const noexcept
6269
72.2k
    {
6270
72.2k
        return m_format.data();
6271
72.2k
    }
scn::v4::basic_scan_parse_context<char>::begin() const
Line
Count
Source
6269
48.1k
    {
6270
48.1k
        return m_format.data();
6271
48.1k
    }
scn::v4::basic_scan_parse_context<wchar_t>::begin() const
Line
Count
Source
6269
24.1k
    {
6270
24.1k
        return m_format.data();
6271
24.1k
    }
6272
    /// Returns an iterator pointing to the end of the format string
6273
    constexpr auto end() const noexcept
6274
    {
6275
        return m_format.data() + m_format.size();
6276
    }
6277
6278
    /// Advance the beginning of the format string to `it`
6279
    constexpr void advance_to(iterator it)
6280
33.2k
    {
6281
33.2k
        m_format.remove_prefix(static_cast<std::size_t>(it - begin()));
6282
33.2k
    }
scn::v4::basic_scan_parse_context<char>::advance_to(char const*)
Line
Count
Source
6280
22.5k
    {
6281
22.5k
        m_format.remove_prefix(static_cast<std::size_t>(it - begin()));
6282
22.5k
    }
scn::v4::basic_scan_parse_context<wchar_t>::advance_to(wchar_t const*)
Line
Count
Source
6280
10.7k
    {
6281
10.7k
        m_format.remove_prefix(static_cast<std::size_t>(it - begin()));
6282
10.7k
    }
6283
6284
    constexpr size_t next_arg_id()
6285
47.3k
    {
6286
47.3k
        if (SCN_UNLIKELY(m_next_arg_id < 0)) {
6287
178
            on_error(
6288
178
                "Cannot switch from manual to automatic argument indexing");
6289
178
            return 0;
6290
178
        }
6291
6292
47.1k
        auto id = static_cast<size_t>(m_next_arg_id++);
6293
47.1k
        do_check_arg_id(id);
6294
47.1k
        return id;
6295
47.3k
    }
scn::v4::basic_scan_parse_context<char>::next_arg_id()
Line
Count
Source
6285
30.8k
    {
6286
30.8k
        if (SCN_UNLIKELY(m_next_arg_id < 0)) {
6287
42
            on_error(
6288
42
                "Cannot switch from manual to automatic argument indexing");
6289
42
            return 0;
6290
42
        }
6291
6292
30.8k
        auto id = static_cast<size_t>(m_next_arg_id++);
6293
30.8k
        do_check_arg_id(id);
6294
30.8k
        return id;
6295
30.8k
    }
scn::v4::basic_scan_parse_context<wchar_t>::next_arg_id()
Line
Count
Source
6285
16.4k
    {
6286
16.4k
        if (SCN_UNLIKELY(m_next_arg_id < 0)) {
6287
136
            on_error(
6288
136
                "Cannot switch from manual to automatic argument indexing");
6289
136
            return 0;
6290
136
        }
6291
6292
16.3k
        auto id = static_cast<size_t>(m_next_arg_id++);
6293
16.3k
        do_check_arg_id(id);
6294
16.3k
        return id;
6295
16.4k
    }
6296
6297
    constexpr void check_arg_id(std::size_t id)
6298
2.14k
    {
6299
2.14k
        if (SCN_UNLIKELY(m_next_arg_id > 0)) {
6300
150
            on_error(
6301
150
                "Cannot switch from manual to automatic argument indexing");
6302
150
            return;
6303
150
        }
6304
1.99k
        m_next_arg_id = -1;
6305
1.99k
        do_check_arg_id(id);
6306
1.99k
    }
scn::v4::basic_scan_parse_context<char>::check_arg_id(unsigned long)
Line
Count
Source
6298
610
    {
6299
610
        if (SCN_UNLIKELY(m_next_arg_id > 0)) {
6300
70
            on_error(
6301
70
                "Cannot switch from manual to automatic argument indexing");
6302
70
            return;
6303
70
        }
6304
540
        m_next_arg_id = -1;
6305
540
        do_check_arg_id(id);
6306
540
    }
scn::v4::basic_scan_parse_context<wchar_t>::check_arg_id(unsigned long)
Line
Count
Source
6298
1.53k
    {
6299
1.53k
        if (SCN_UNLIKELY(m_next_arg_id > 0)) {
6300
80
            on_error(
6301
80
                "Cannot switch from manual to automatic argument indexing");
6302
80
            return;
6303
80
        }
6304
1.45k
        m_next_arg_id = -1;
6305
1.45k
        do_check_arg_id(id);
6306
1.45k
    }
6307
6308
    /**
6309
     * Fail format string parsing with the message `msg`.
6310
     * Calling this member function is not a constant expression,
6311
     * causing a compile-time error, if compile-time format string checking is
6312
     * enabled.
6313
     */
6314
    scan_error on_error(const char* msg)
6315
328
    {
6316
328
        m_error = unexpected(detail::handle_error(
6317
328
            scan_error{scan_error::invalid_format_string, msg}));
6318
328
        return m_error.error();
6319
328
    }
scn::v4::basic_scan_parse_context<char>::on_error(char const*)
Line
Count
Source
6315
112
    {
6316
112
        m_error = unexpected(detail::handle_error(
6317
112
            scan_error{scan_error::invalid_format_string, msg}));
6318
112
        return m_error.error();
6319
112
    }
scn::v4::basic_scan_parse_context<wchar_t>::on_error(char const*)
Line
Count
Source
6315
216
    {
6316
216
        m_error = unexpected(detail::handle_error(
6317
216
            scan_error{scan_error::invalid_format_string, msg}));
6318
216
        return m_error.error();
6319
216
    }
6320
6321
    scan_expected<void> get_error()
6322
    {
6323
        return m_error;
6324
    }
6325
6326
protected:
6327
    constexpr void do_check_arg_id(size_t id);
6328
6329
    std::basic_string_view<CharT> m_format;
6330
    scan_expected<void> m_error{};
6331
    int m_next_arg_id{0};
6332
};
6333
6334
/////////////////////////////////////////////////////////////////
6335
// Result types
6336
/////////////////////////////////////////////////////////////////
6337
6338
namespace detail {
6339
template <typename... Args>
6340
struct scan_result_value_storage {
6341
public:
6342
    using tuple_type = std::tuple<Args...>;
6343
6344
151k
    constexpr scan_result_value_storage() = default;
scn::v4::detail::scan_result_value_storage<char>::scan_result_value_storage()
Line
Count
Source
6344
5.62k
    constexpr scan_result_value_storage() = default;
scn::v4::detail::scan_result_value_storage<int>::scan_result_value_storage()
Line
Count
Source
6344
16.8k
    constexpr scan_result_value_storage() = default;
scn::v4::detail::scan_result_value_storage<unsigned int>::scan_result_value_storage()
Line
Count
Source
6344
16.8k
    constexpr scan_result_value_storage() = default;
scn::v4::detail::scan_result_value_storage<double>::scan_result_value_storage()
Line
Count
Source
6344
16.8k
    constexpr scan_result_value_storage() = default;
scn::v4::detail::scan_result_value_storage<bool>::scan_result_value_storage()
Line
Count
Source
6344
16.8k
    constexpr scan_result_value_storage() = default;
scn::v4::detail::scan_result_value_storage<void*>::scan_result_value_storage()
Line
Count
Source
6344
16.8k
    constexpr scan_result_value_storage() = default;
scn::v4::detail::scan_result_value_storage<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_result_value_storage()
Line
Count
Source
6344
16.8k
    constexpr scan_result_value_storage() = default;
scn::v4::detail::scan_result_value_storage<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::scan_result_value_storage()
Line
Count
Source
6344
16.8k
    constexpr scan_result_value_storage() = default;
scn::v4::detail::scan_result_value_storage<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::scan_result_value_storage()
Line
Count
Source
6344
5.62k
    constexpr scan_result_value_storage() = default;
scn::v4::detail::scan_result_value_storage<wchar_t>::scan_result_value_storage()
Line
Count
Source
6344
11.2k
    constexpr scan_result_value_storage() = default;
scn::v4::detail::scan_result_value_storage<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::scan_result_value_storage()
Line
Count
Source
6344
11.2k
    constexpr scan_result_value_storage() = default;
6345
6346
    constexpr scan_result_value_storage(tuple_type&& values)
6347
        : m_values(SCN_MOVE(values))
6348
    {
6349
    }
6350
6351
    /// Access the scanned values
6352
    tuple_type& values() &
6353
151k
    {
6354
151k
        return m_values;
6355
151k
    }
scn::v4::detail::scan_result_value_storage<char>::values() &
Line
Count
Source
6353
5.62k
    {
6354
5.62k
        return m_values;
6355
5.62k
    }
scn::v4::detail::scan_result_value_storage<int>::values() &
Line
Count
Source
6353
16.8k
    {
6354
16.8k
        return m_values;
6355
16.8k
    }
scn::v4::detail::scan_result_value_storage<unsigned int>::values() &
Line
Count
Source
6353
16.8k
    {
6354
16.8k
        return m_values;
6355
16.8k
    }
scn::v4::detail::scan_result_value_storage<double>::values() &
Line
Count
Source
6353
16.8k
    {
6354
16.8k
        return m_values;
6355
16.8k
    }
scn::v4::detail::scan_result_value_storage<bool>::values() &
Line
Count
Source
6353
16.8k
    {
6354
16.8k
        return m_values;
6355
16.8k
    }
scn::v4::detail::scan_result_value_storage<void*>::values() &
Line
Count
Source
6353
16.8k
    {
6354
16.8k
        return m_values;
6355
16.8k
    }
scn::v4::detail::scan_result_value_storage<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::values() &
Line
Count
Source
6353
16.8k
    {
6354
16.8k
        return m_values;
6355
16.8k
    }
scn::v4::detail::scan_result_value_storage<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::values() &
Line
Count
Source
6353
16.8k
    {
6354
16.8k
        return m_values;
6355
16.8k
    }
scn::v4::detail::scan_result_value_storage<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::values() &
Line
Count
Source
6353
5.62k
    {
6354
5.62k
        return m_values;
6355
5.62k
    }
scn::v4::detail::scan_result_value_storage<wchar_t>::values() &
Line
Count
Source
6353
11.2k
    {
6354
11.2k
        return m_values;
6355
11.2k
    }
scn::v4::detail::scan_result_value_storage<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::values() &
Line
Count
Source
6353
11.2k
    {
6354
11.2k
        return m_values;
6355
11.2k
    }
6356
    /// Access the scanned values
6357
    const tuple_type& values() const&
6358
    {
6359
        return m_values;
6360
    }
6361
    /// Access the scanned values
6362
    tuple_type&& values() &&
6363
    {
6364
        return SCN_MOVE(m_values);
6365
    }
6366
    /// Access the scanned values
6367
    const tuple_type&& values() const&&
6368
    {
6369
        return SCN_MOVE(m_values);
6370
    }
6371
6372
    /// Access the single scanned value
6373
    template <size_t N = sizeof...(Args), std::enable_if_t<N == 1>* = nullptr>
6374
    decltype(auto) value() &
6375
0
    {
6376
0
        return std::get<0>(m_values);
6377
0
    }
Unexecuted instantiation: _ZNR3scn2v46detail25scan_result_value_storageIJNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEEE5valueILm1ETnPNS3_9enable_ifIXeqT_Li1EEvE4typeELPv0EEEDcv
Unexecuted instantiation: _ZNR3scn2v46detail25scan_result_value_storageIJdEE5valueILm1ETnPNSt3__19enable_ifIXeqT_Li1EEvE4typeELPv0EEEDcv
6378
    /// Access the single scanned value
6379
    template <size_t N = sizeof...(Args), std::enable_if_t<N == 1>* = nullptr>
6380
    decltype(auto) value() const&
6381
    {
6382
        return std::get<0>(m_values);
6383
    }
6384
    /// Access the single scanned value
6385
    template <size_t N = sizeof...(Args), std::enable_if_t<N == 1>* = nullptr>
6386
    decltype(auto) value() &&
6387
    {
6388
        return SCN_MOVE(std::get<0>(m_values));
6389
    }
6390
    /// Access the single scanned value
6391
    template <size_t N = sizeof...(Args), std::enable_if_t<N == 1>* = nullptr>
6392
    decltype(auto) value() const&&
6393
    {
6394
        return SCN_MOVE(std::get<0>(m_values));
6395
    }
6396
6397
private:
6398
    SCN_NO_UNIQUE_ADDRESS tuple_type m_values{};
6399
};
6400
6401
struct scan_result_convert_tag {};
6402
6403
template <typename Range>
6404
struct scan_result_range_storage {
6405
    static_assert(is_specialization_of_v<Range, ranges::subrange>,
6406
                  "scan_result<Range> accepts only subranges as Ranges");
6407
6408
public:
6409
    using range_type = Range;
6410
    using iterator = ranges::iterator_t<Range>;
6411
    using sentinel = ranges::sentinel_t<Range>;
6412
6413
151k
    constexpr scan_result_range_storage() = default;
scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::scan_result_range_storage()
Line
Count
Source
6413
50.6k
    constexpr scan_result_range_storage() = default;
scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::scan_result_range_storage()
Line
Count
Source
6413
101k
    constexpr scan_result_range_storage() = default;
Unexecuted instantiation: scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::scan_result_range_storage()
Unexecuted instantiation: scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> > >::scan_result_range_storage()
Unexecuted instantiation: scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::scan_result_range_storage()
6414
6415
    constexpr scan_result_range_storage(range_type&& r) : m_range(SCN_MOVE(r))
6416
    {
6417
    }
6418
6419
    template <typename R>
6420
    explicit constexpr scan_result_range_storage(scan_result_convert_tag, R&& r)
6421
        : m_range(SCN_MOVE(r))
6422
    {
6423
    }
6424
6425
    /// Access the ununsed source range
6426
    range_type range() const
6427
    {
6428
        return m_range;
6429
    }
6430
6431
    /// The beginning of the unused source range
6432
    auto begin() const
6433
0
    {
6434
0
        return ranges::begin(m_range);
6435
0
    }
Unexecuted instantiation: scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::begin() const
Unexecuted instantiation: scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::begin() const
Unexecuted instantiation: scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::begin() const
Unexecuted instantiation: scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::begin() const
Unexecuted instantiation: scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> > >::begin() const
6436
    /// The end of the unused source range
6437
    auto end() const
6438
0
    {
6439
0
        return ranges::end(m_range);
6440
0
    }
Unexecuted instantiation: scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::end() const
Unexecuted instantiation: scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::end() const
Unexecuted instantiation: scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::end() const
Unexecuted instantiation: scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> > >::end() const
Unexecuted instantiation: scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::end() const
6441
6442
    template <typename Other>
6443
    void set_range(Other&& r)
6444
3.94k
    {
6445
3.94k
        m_range = std::forward<Other>(r);
6446
3.94k
    }
void scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::set_range<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&&)
Line
Count
Source
6444
2.11k
    {
6445
2.11k
        m_range = std::forward<Other>(r);
6446
2.11k
    }
void scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::set_range<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&&)
Line
Count
Source
6444
1.82k
    {
6445
1.82k
        m_range = std::forward<Other>(r);
6446
1.82k
    }
Unexecuted instantiation: void scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::set_range<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
Unexecuted instantiation: void scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> > >::set_range<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> > >(scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >&&)
Unexecuted instantiation: void scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::set_range<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
6447
6448
protected:
6449
    template <typename Other>
6450
    void assign_range(Other&& r)
6451
    {
6452
        m_range = r.m_range;
6453
    }
6454
6455
private:
6456
    SCN_NO_UNIQUE_ADDRESS range_type m_range{};
6457
};
6458
6459
struct scan_result_file_storage {
6460
public:
6461
    using range_type = std::FILE*;
6462
6463
    constexpr scan_result_file_storage() = default;
6464
6465
0
    constexpr scan_result_file_storage(std::FILE* f) : m_file(f) {}
6466
6467
    /// File used for scanning
6468
    std::FILE* file() const
6469
0
    {
6470
0
        return m_file;
6471
0
    }
6472
6473
    void set_range(std::FILE* f)
6474
0
    {
6475
0
        m_file = f;
6476
0
    }
6477
6478
protected:
6479
    void assign_range(const scan_result_file_storage& f)
6480
0
    {
6481
0
        m_file = f.m_file;
6482
0
    }
6483
6484
private:
6485
    std::FILE* m_file{nullptr};
6486
};
6487
6488
struct scan_result_dangling {
6489
    using range_type = ranges::dangling;
6490
6491
    constexpr scan_result_dangling() = default;
6492
6493
    template <typename... Args>
6494
    explicit constexpr scan_result_dangling(Args&&...)
6495
    {
6496
    }
6497
6498
    range_type range() const
6499
0
    {
6500
0
        return {};
6501
0
    }
6502
6503
    ranges::dangling begin() const
6504
0
    {
6505
0
        return {};
6506
0
    }
6507
    ranges::dangling end() const
6508
0
    {
6509
0
        return {};
6510
0
    }
6511
6512
    template <typename... Args>
6513
    void set_range(Args&&...)
6514
    {
6515
    }
6516
6517
protected:
6518
    template <typename... Args>
6519
    void assign_range(Args&&...)
6520
    {
6521
    }
6522
};
6523
6524
template <typename Range>
6525
constexpr auto get_scan_result_base()
6526
0
{
6527
0
    if constexpr (std::is_same_v<remove_cvref_t<Range>, ranges::dangling>) {
6528
0
        return type_identity<scan_result_dangling>{};
6529
0
    }
6530
0
    else if constexpr (std::is_same_v<remove_cvref_t<Range>, std::FILE*>) {
6531
0
        return type_identity<scan_result_file_storage>{};
6532
0
    }
6533
0
    else {
6534
0
        return type_identity<scan_result_range_storage<Range>>{};
6535
0
    }
6536
0
}
Unexecuted instantiation: auto scn::v4::detail::get_scan_result_base<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >()
Unexecuted instantiation: auto scn::v4::detail::get_scan_result_base<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >()
Unexecuted instantiation: auto scn::v4::detail::get_scan_result_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >()
Unexecuted instantiation: auto scn::v4::detail::get_scan_result_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> > >()
Unexecuted instantiation: auto scn::v4::detail::get_scan_result_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >()
6537
6538
#if !SCN_DOXYGEN
6539
template <typename Range>
6540
using scan_result_base = typename decltype(get_scan_result_base<Range>())::type;
6541
#else
6542
template <typename Range>
6543
using scan_result_base = scan_result_range_storage<Range>;
6544
#endif
6545
}  // namespace detail
6546
6547
/**
6548
 * \defgroup result Result types
6549
 *
6550
 * \brief Result and error types
6551
 *
6552
 * Instead of using exceptions, `scn::scan` and others return an object of
6553
 * type `scn::scan_result`, wrapped inside a `scn::scan_expected`.
6554
 */
6555
6556
/**
6557
 * Type returned by `scan`, contains the unused input as a subrange, and the
6558
 * scanned values in a tuple.
6559
 */
6560
template <typename Range, typename... Args>
6561
class scan_result : public detail::scan_result_base<Range>,
6562
                    public detail::scan_result_value_storage<Args...> {
6563
    using range_base = detail::scan_result_base<Range>;
6564
    using value_base = detail::scan_result_value_storage<Args...>;
6565
6566
public:
6567
    using range_type = typename range_base::range_type;
6568
    using tuple_type = typename value_base::tuple_type;
6569
6570
151k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>::scan_result()
Line
Count
Source
6570
5.62k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>::scan_result()
Line
Count
Source
6570
5.62k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>::scan_result()
Line
Count
Source
6570
5.62k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>::scan_result()
Line
Count
Source
6570
5.62k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>::scan_result()
Line
Count
Source
6570
5.62k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>::scan_result()
Line
Count
Source
6570
5.62k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_result()
Line
Count
Source
6570
5.62k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::scan_result()
Line
Count
Source
6570
5.62k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >::scan_result()
Line
Count
Source
6570
5.62k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>::scan_result()
Line
Count
Source
6570
11.2k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>::scan_result()
Line
Count
Source
6570
11.2k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>::scan_result()
Line
Count
Source
6570
11.2k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>::scan_result()
Line
Count
Source
6570
11.2k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>::scan_result()
Line
Count
Source
6570
11.2k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>::scan_result()
Line
Count
Source
6570
11.2k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_result()
Line
Count
Source
6570
11.2k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::scan_result()
Line
Count
Source
6570
11.2k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::scan_result()
Line
Count
Source
6570
11.2k
    constexpr scan_result() = default;
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_result()
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>::scan_result()
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_result()
6571
6572
    constexpr scan_result(const scan_result&) = default;
6573
0
    constexpr scan_result(scan_result&&) = default;
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_result(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::scan_result(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_result(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::scan_result(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_result(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_result(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
6574
    constexpr scan_result& operator=(const scan_result&) = default;
6575
0
    constexpr scan_result& operator=(scan_result&&) = default;
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
6576
6577
33.7k
    ~scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::~scan_result()
Line
Count
Source
6577
5.62k
    ~scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::~scan_result()
Line
Count
Source
6577
5.62k
    ~scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::~scan_result()
Line
Count
Source
6577
11.2k
    ~scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::~scan_result()
Line
Count
Source
6577
11.2k
    ~scan_result() = default;
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::~scan_result()
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::~scan_result()
6578
6579
    scan_result(range_type r, tuple_type&& values)
6580
        : range_base(SCN_MOVE(r)), value_base(SCN_MOVE(values))
6581
    {
6582
    }
6583
6584
    template <typename OtherR,
6585
              std::enable_if_t<std::is_constructible_v<range_type, OtherR>>* =
6586
                  nullptr>
6587
    scan_result(OtherR&& r, tuple_type&& values)
6588
        : range_base(detail::scan_result_convert_tag{}, SCN_FWD(r)),
6589
          value_base(SCN_MOVE(values))
6590
    {
6591
    }
6592
6593
    template <typename OtherR,
6594
              std::enable_if_t<
6595
                  std::is_constructible_v<range_type, OtherR> &&
6596
                  std::is_convertible_v<const OtherR&, range_type>>* = nullptr>
6597
    SCN_IMPLICIT scan_result(const scan_result<OtherR, Args...>& o)
6598
        : range_base(detail::scan_result_convert_tag{}, o.range()),
6599
          value_base(o.values())
6600
    {
6601
    }
6602
    template <typename OtherR,
6603
              std::enable_if_t<
6604
                  std::is_constructible_v<range_type, OtherR> &&
6605
                  !std::is_convertible_v<const OtherR&, range_type>>* = nullptr>
6606
    explicit scan_result(const scan_result<OtherR, Args...>& o)
6607
        : range_base(detail::scan_result_convert_tag{}, o.range()),
6608
          value_base(o.values())
6609
    {
6610
    }
6611
6612
    template <typename OtherR,
6613
              std::enable_if_t<std::is_constructible_v<range_type, OtherR> &&
6614
                               std::is_convertible_v<OtherR&&, range_type>>* =
6615
                  nullptr>
6616
    SCN_IMPLICIT scan_result(scan_result<OtherR, Args...>&& o)
6617
        : range_base(detail::scan_result_convert_tag{}, SCN_MOVE(o.range())),
6618
          value_base(SCN_MOVE(o.values()))
6619
    {
6620
    }
6621
    template <typename OtherR,
6622
              std::enable_if_t<std::is_constructible_v<range_type, OtherR> &&
6623
                               !std::is_convertible_v<OtherR&&, range_type>>* =
6624
                  nullptr>
6625
    explicit scan_result(scan_result<OtherR, Args...>&& o)
6626
        : range_base(detail::scan_result_convert_tag{}, SCN_MOVE(o.range())),
6627
          value_base(SCN_MOVE(o.values()))
6628
    {
6629
    }
6630
6631
    template <typename OtherR,
6632
              typename =
6633
                  std::enable_if_t<std::is_constructible_v<range_type, OtherR>>>
6634
    scan_result& operator=(const scan_result<OtherR, Args...>& o)
6635
    {
6636
        this->assign_range(o);
6637
        this->values() = o.values();
6638
        return *this;
6639
    }
6640
6641
    template <typename OtherR,
6642
              typename =
6643
                  std::enable_if_t<std::is_constructible_v<range_type, OtherR>>>
6644
    scan_result& operator=(scan_result<OtherR, Args...>&& o)
6645
    {
6646
        this->assign_range(o);
6647
        this->values() = SCN_MOVE(o.values());
6648
        return *this;
6649
    }
6650
};
6651
6652
template <typename R, typename... Args>
6653
scan_result(R, std::tuple<Args...>) -> scan_result<R, Args...>;
6654
template <typename R, typename Ctx, typename... Args>
6655
scan_result(R, detail::scan_arg_store<Ctx, Args...>&)
6656
    -> scan_result<R, Args...>;
6657
6658
namespace detail {
6659
template <typename SourceRange>
6660
auto make_vscan_result_range_end(SourceRange& source)
6661
3.94k
{
6662
3.94k
    return ranges::end(source);
6663
3.94k
}
auto scn::v4::detail::make_vscan_result_range_end<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Line
Count
Source
6661
2.11k
{
6662
2.11k
    return ranges::end(source);
6663
2.11k
}
auto scn::v4::detail::make_vscan_result_range_end<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
Line
Count
Source
6661
1.82k
{
6662
1.82k
    return ranges::end(source);
6663
1.82k
}
Unexecuted instantiation: auto scn::v4::detail::make_vscan_result_range_end<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&)
Unexecuted instantiation: auto scn::v4::detail::make_vscan_result_range_end<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Unexecuted instantiation: auto scn::v4::detail::make_vscan_result_range_end<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&)
Unexecuted instantiation: auto scn::v4::detail::make_vscan_result_range_end<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&)
Unexecuted instantiation: auto scn::v4::detail::make_vscan_result_range_end<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&)
6664
template <typename CharT, size_t N>
6665
auto make_vscan_result_range_end(CharT (&source)[N])
6666
    -> ranges::sentinel_t<CharT (&)[N]>
6667
{
6668
    return source + N - 1;
6669
}
6670
6671
template <typename SourceRange>
6672
auto make_vscan_result_range(SourceRange&& source, std::ptrdiff_t n)
6673
    -> borrowed_tail_subrange_t<SourceRange>
6674
3.94k
{
6675
    if constexpr (ranges::random_access_iterator<
6676
3.94k
                      ranges::iterator_t<SourceRange>>) {
6677
3.94k
        return {ranges::begin(source) + n, make_vscan_result_range_end(source)};
6678
    }
6679
0
    else {
6680
0
        auto it = ranges::begin(source);
6681
0
        while (n > 0) {
6682
0
            --n;
6683
0
            ++it;
6684
0
        }
6685
0
        return {SCN_MOVE(it), make_vscan_result_range_end(source)};
6686
0
    }
6687
3.94k
}
_ZN3scn2v46detail23make_vscan_result_rangeIRNSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS1_22borrowed_tail_subrangeIT_Xsr6rangesE14borrowed_rangeISA_EEE4typeEOSA_l
Line
Count
Source
6674
2.11k
{
6675
    if constexpr (ranges::random_access_iterator<
6676
2.11k
                      ranges::iterator_t<SourceRange>>) {
6677
2.11k
        return {ranges::begin(source) + n, make_vscan_result_range_end(source)};
6678
    }
6679
    else {
6680
        auto it = ranges::begin(source);
6681
        while (n > 0) {
6682
            --n;
6683
            ++it;
6684
        }
6685
        return {SCN_MOVE(it), make_vscan_result_range_end(source)};
6686
    }
6687
2.11k
}
_ZN3scn2v46detail23make_vscan_result_rangeIRNSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEENS1_22borrowed_tail_subrangeIT_Xsr6rangesE14borrowed_rangeISA_EEE4typeEOSA_l
Line
Count
Source
6674
1.82k
{
6675
    if constexpr (ranges::random_access_iterator<
6676
1.82k
                      ranges::iterator_t<SourceRange>>) {
6677
1.82k
        return {ranges::begin(source) + n, make_vscan_result_range_end(source)};
6678
    }
6679
    else {
6680
        auto it = ranges::begin(source);
6681
        while (n > 0) {
6682
            --n;
6683
            ++it;
6684
        }
6685
        return {SCN_MOVE(it), make_vscan_result_range_end(source)};
6686
    }
6687
1.82k
}
Unexecuted instantiation: _ZN3scn2v46detail23make_vscan_result_rangeINS0_6ranges6detail9subrange_8subrangeINS1_17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_22borrowed_tail_subrangeIT_Xsr6rangesE14borrowed_rangeISD_EEE4typeEOSD_l
Unexecuted instantiation: _ZN3scn2v46detail23make_vscan_result_rangeIRNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEEENS1_22borrowed_tail_subrangeIT_Xsr6rangesE14borrowed_rangeISC_EEE4typeEOSC_l
Unexecuted instantiation: _ZN3scn2v46detail23make_vscan_result_rangeINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_22borrowed_tail_subrangeIT_Xsr6rangesE14borrowed_rangeISB_EEE4typeEOSB_l
Unexecuted instantiation: _ZN3scn2v46detail23make_vscan_result_rangeINS0_6ranges6detail9subrange_8subrangeINS1_17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_22borrowed_tail_subrangeIT_Xsr6rangesE14borrowed_rangeISD_EEE4typeEOSD_l
Unexecuted instantiation: _ZN3scn2v46detail23make_vscan_result_rangeINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_22borrowed_tail_subrangeIT_Xsr6rangesE14borrowed_rangeISB_EEE4typeEOSB_l
6688
inline auto make_vscan_result_range(std::FILE* source, std::ptrdiff_t)
6689
0
{
6690
0
    return source;
6691
0
}
6692
}  // namespace detail
6693
6694
/////////////////////////////////////////////////////////////////
6695
// Format string parsing
6696
/////////////////////////////////////////////////////////////////
6697
6698
namespace detail {
6699
/// Parse context with extra data used only for compile-time checks
6700
template <typename CharT>
6701
class compile_parse_context : public basic_scan_parse_context<CharT> {
6702
    using base = basic_scan_parse_context<CharT>;
6703
6704
public:
6705
    template <typename Source>
6706
    explicit constexpr compile_parse_context(
6707
        std::basic_string_view<CharT> format_str,
6708
        int num_args,
6709
        const arg_type* types,
6710
        type_identity<Source> source_tag,
6711
        int next_arg_id = 0)
6712
        : base(format_str, next_arg_id),
6713
          m_num_args(num_args),
6714
          m_types(types),
6715
          m_is_contiguous(ranges::range<Source> &&
6716
                          ranges::contiguous_range<Source>),
6717
          m_is_borrowed(
6718
              (ranges::range<Source> && ranges::borrowed_range<Source>) ||
6719
              std::is_same_v<detail::remove_cvref_t<Source>, std::FILE*>)
6720
    {
6721
    }
6722
6723
    SCN_NODISCARD constexpr int get_num_args() const
6724
0
    {
6725
0
        return m_num_args;
6726
0
    }
Unexecuted instantiation: scn::v4::detail::compile_parse_context<char>::get_num_args() const
Unexecuted instantiation: scn::v4::detail::compile_parse_context<wchar_t>::get_num_args() const
6727
    SCN_NODISCARD constexpr arg_type get_arg_type(std::size_t id) const
6728
    {
6729
        return m_types[id];
6730
    }
6731
6732
    SCN_GCC_PUSH
6733
    SCN_GCC_IGNORE("-Wsign-conversion")
6734
6735
    constexpr std::size_t next_arg_id()
6736
    {
6737
        auto id = base::next_arg_id();
6738
        if (SCN_UNLIKELY(id >= static_cast<size_t>(m_num_args))) {
6739
            this->on_error("Argument not found");
6740
        }
6741
        return id;
6742
    }
6743
6744
    constexpr void check_arg_id(std::size_t id)
6745
    {
6746
        base::check_arg_id(id);
6747
        if (SCN_UNLIKELY(id >= static_cast<size_t>(m_num_args))) {
6748
            this->on_error("Argument not found");
6749
        }
6750
    }
6751
    using base::check_arg_id;
6752
6753
    constexpr void check_arg_can_be_read(std::size_t id)
6754
    {
6755
        auto type = get_arg_type(id);
6756
6757
        if ((type == arg_type::narrow_string_view_type ||
6758
             type == arg_type::wide_string_view_type) &&
6759
            !m_is_contiguous) {
6760
            // clang-format off
6761
            this->on_error("Cannot read a string_view from a non-contiguous source");
6762
            // clang-format on
6763
            return;
6764
        }
6765
        if ((type == arg_type::narrow_string_view_type ||
6766
             type == arg_type::wide_string_view_type) &&
6767
            !m_is_borrowed) {
6768
            // clang-format off
6769
            this->on_error("Cannot read a string_view from a non-borrowed source");
6770
            // clang-format on
6771
            return;
6772
        }
6773
6774
        if ((type == arg_type::narrow_regex_matches_type ||
6775
             type == arg_type::wide_regex_matches_type) &&
6776
            !m_is_contiguous) {
6777
            // clang-format off
6778
            this->on_error("Cannot read a regex_matches from a non-contiguous source");
6779
            // clang-format on
6780
            return;
6781
        }
6782
    }
6783
6784
private:
6785
    int m_num_args;
6786
    const arg_type* m_types;
6787
    bool m_is_contiguous, m_is_borrowed;
6788
6789
    SCN_GCC_POP  // -Wsign-conversion
6790
};
6791
6792
constexpr inline bool is_constant_evaluated(bool default_value = false) noexcept
6793
0
{
6794
0
#ifdef __cpp_lib_is_constant_evaluated
6795
0
    SCN_UNUSED(default_value);
6796
0
    return std::is_constant_evaluated();
6797
0
#else
6798
0
    return default_value;
6799
0
#endif
6800
0
}
6801
}  // namespace detail
6802
6803
template <typename CharT>
6804
constexpr void basic_scan_parse_context<CharT>::do_check_arg_id(size_t id)
6805
49.1k
{
6806
49.1k
    if (detail::is_constant_evaluated() &&
6807
49.1k
        (!SCN_GCC || SCN_GCC >= SCN_COMPILER(12, 0, 0))) {
6808
        // The cast below will cause an error on gcc pre-12
6809
0
        using parse_context_type = detail::compile_parse_context<CharT>;
6810
0
        if (static_cast<int>(id) >=
6811
0
            static_cast<parse_context_type*>(this)->get_num_args()) {
6812
0
            SCN_UNLIKELY_ATTR
6813
0
            on_error("Argument not found");
6814
0
        }
6815
0
    }
6816
49.1k
}
scn::v4::basic_scan_parse_context<char>::do_check_arg_id(unsigned long)
Line
Count
Source
6805
31.3k
{
6806
31.3k
    if (detail::is_constant_evaluated() &&
6807
31.3k
        (!SCN_GCC || SCN_GCC >= SCN_COMPILER(12, 0, 0))) {
6808
        // The cast below will cause an error on gcc pre-12
6809
0
        using parse_context_type = detail::compile_parse_context<CharT>;
6810
0
        if (static_cast<int>(id) >=
6811
0
            static_cast<parse_context_type*>(this)->get_num_args()) {
6812
0
            SCN_UNLIKELY_ATTR
6813
0
            on_error("Argument not found");
6814
0
        }
6815
0
    }
6816
31.3k
}
scn::v4::basic_scan_parse_context<wchar_t>::do_check_arg_id(unsigned long)
Line
Count
Source
6805
17.8k
{
6806
17.8k
    if (detail::is_constant_evaluated() &&
6807
17.8k
        (!SCN_GCC || SCN_GCC >= SCN_COMPILER(12, 0, 0))) {
6808
        // The cast below will cause an error on gcc pre-12
6809
0
        using parse_context_type = detail::compile_parse_context<CharT>;
6810
0
        if (static_cast<int>(id) >=
6811
0
            static_cast<parse_context_type*>(this)->get_num_args()) {
6812
0
            SCN_UNLIKELY_ATTR
6813
0
            on_error("Argument not found");
6814
0
        }
6815
0
    }
6816
17.8k
}
6817
6818
namespace detail {
6819
enum class align_type : unsigned char {
6820
    none = 0,
6821
    left = 1,   // '<'
6822
    right = 2,  // '>'
6823
    center = 3  // '^'
6824
};
6825
6826
enum class presentation_type {
6827
    none,
6828
    int_binary,            // 'b', 'B'
6829
    int_decimal,           // 'd'
6830
    int_generic,           // 'i'
6831
    int_unsigned_decimal,  // 'u'
6832
    int_octal,             // 'o'
6833
    int_hex,               // 'x', 'X'
6834
    int_arbitrary_base,    // 'rnn', 'Rnn' (R for radix)
6835
    float_hex,             // 'a', 'A'
6836
    float_scientific,      // 'e', 'E'
6837
    float_fixed,           // 'f', 'F'
6838
    float_general,         // 'g', 'G'
6839
    string,                // 's'
6840
    string_set,            // '[...]'
6841
    regex,                 // '/.../.'
6842
    regex_escaped,         // '/..\/../.'
6843
    character,             // 'c'
6844
    escaped_character,     // '?'
6845
    pointer,               // 'p'
6846
};
6847
6848
enum class regex_flags {
6849
    none = 0,
6850
    multiline = 1,   // /m
6851
    singleline = 2,  // /s
6852
    nocase = 4,      // /i
6853
    nocapture = 8,   // /n
6854
    // TODO?
6855
    // would probably need to go hand-in-hand with locale,
6856
    // where it could even be the default/only option -> no flag?
6857
    // why else would you even use locale with a regex?
6858
    // collate = 16,
6859
};
6860
6861
constexpr regex_flags operator&(regex_flags a, regex_flags b)
6862
1.79k
{
6863
1.79k
    return static_cast<regex_flags>(static_cast<unsigned>(a) &
6864
1.79k
                                    static_cast<unsigned>(b));
6865
1.79k
}
6866
constexpr regex_flags operator|(regex_flags a, regex_flags b)
6867
222
{
6868
222
    return static_cast<regex_flags>(static_cast<unsigned>(a) |
6869
222
                                    static_cast<unsigned>(b));
6870
222
}
6871
constexpr regex_flags operator^(regex_flags a, regex_flags b)
6872
0
{
6873
0
    return static_cast<regex_flags>(static_cast<unsigned>(a) ^
6874
0
                                    static_cast<unsigned>(b));
6875
0
}
6876
6877
constexpr regex_flags& operator&=(regex_flags& a, regex_flags b)
6878
0
{
6879
0
    return a = a & b;
6880
0
}
6881
constexpr regex_flags& operator|=(regex_flags& a, regex_flags b)
6882
222
{
6883
222
    return a = a | b;
6884
222
}
6885
constexpr regex_flags& operator^=(regex_flags& a, regex_flags b)
6886
0
{
6887
0
    return a = a ^ b;
6888
0
}
6889
6890
class fill_type {
6891
public:
6892
    constexpr void operator=(char c)
6893
0
    {
6894
0
        m_data[0] = c;
6895
0
        m_size = 1;
6896
0
    }
6897
6898
    template <typename CharT>
6899
    constexpr void operator=(std::basic_string_view<CharT> s)
6900
4.44k
    {
6901
4.44k
        SCN_EXPECT(!s.empty());
6902
4.44k
        SCN_EXPECT(s.size() * sizeof(CharT) <= max_size);
6903
4.44k
        if constexpr (sizeof(CharT) == 1) {
6904
8.33k
            for (size_t i = 0; i < s.size(); ++i) {
6905
6.05k
                SCN_GCC_PUSH
6906
6.05k
                SCN_GCC_IGNORE("-Wstringop-overflow")  // false positive
6907
6.05k
                m_data[i] = s[i];
6908
6.05k
                SCN_GCC_POP
6909
6.05k
            }
6910
2.27k
            m_size = static_cast<unsigned char>(s.size());
6911
        }
6912
        else if constexpr (sizeof(CharT) == 2) {
6913
            m_data[0] = static_cast<char>(static_cast<unsigned>(s.front()));
6914
            m_data[1] =
6915
                static_cast<char>(static_cast<unsigned>(s.front()) >> 8);
6916
            if (s.size() == 1) {
6917
                return;
6918
            }
6919
            m_data[2] = static_cast<char>(static_cast<unsigned>(s[1]));
6920
            m_data[3] = static_cast<char>(static_cast<unsigned>(s[1]) >> 8);
6921
        }
6922
2.16k
        else {
6923
2.16k
            const auto front = static_cast<unsigned>(s.front());
6924
2.16k
            m_data[0] = static_cast<char>(front);
6925
2.16k
            m_data[1] = static_cast<char>(front >> 8);
6926
2.16k
            m_data[2] = static_cast<char>(front >> 16);
6927
2.16k
            m_data[3] = static_cast<char>(front >> 24);
6928
2.16k
        }
6929
4.44k
    }
void scn::v4::detail::fill_type::operator=<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
6900
2.27k
    {
6901
2.27k
        SCN_EXPECT(!s.empty());
6902
2.27k
        SCN_EXPECT(s.size() * sizeof(CharT) <= max_size);
6903
2.27k
        if constexpr (sizeof(CharT) == 1) {
6904
8.33k
            for (size_t i = 0; i < s.size(); ++i) {
6905
6.05k
                SCN_GCC_PUSH
6906
6.05k
                SCN_GCC_IGNORE("-Wstringop-overflow")  // false positive
6907
6.05k
                m_data[i] = s[i];
6908
6.05k
                SCN_GCC_POP
6909
6.05k
            }
6910
2.27k
            m_size = static_cast<unsigned char>(s.size());
6911
        }
6912
        else if constexpr (sizeof(CharT) == 2) {
6913
            m_data[0] = static_cast<char>(static_cast<unsigned>(s.front()));
6914
            m_data[1] =
6915
                static_cast<char>(static_cast<unsigned>(s.front()) >> 8);
6916
            if (s.size() == 1) {
6917
                return;
6918
            }
6919
            m_data[2] = static_cast<char>(static_cast<unsigned>(s[1]));
6920
            m_data[3] = static_cast<char>(static_cast<unsigned>(s[1]) >> 8);
6921
        }
6922
        else {
6923
            const auto front = static_cast<unsigned>(s.front());
6924
            m_data[0] = static_cast<char>(front);
6925
            m_data[1] = static_cast<char>(front >> 8);
6926
            m_data[2] = static_cast<char>(front >> 16);
6927
            m_data[3] = static_cast<char>(front >> 24);
6928
        }
6929
2.27k
    }
void scn::v4::detail::fill_type::operator=<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
Line
Count
Source
6900
2.16k
    {
6901
2.16k
        SCN_EXPECT(!s.empty());
6902
2.16k
        SCN_EXPECT(s.size() * sizeof(CharT) <= max_size);
6903
        if constexpr (sizeof(CharT) == 1) {
6904
            for (size_t i = 0; i < s.size(); ++i) {
6905
                SCN_GCC_PUSH
6906
                SCN_GCC_IGNORE("-Wstringop-overflow")  // false positive
6907
                m_data[i] = s[i];
6908
                SCN_GCC_POP
6909
            }
6910
            m_size = static_cast<unsigned char>(s.size());
6911
        }
6912
        else if constexpr (sizeof(CharT) == 2) {
6913
            m_data[0] = static_cast<char>(static_cast<unsigned>(s.front()));
6914
            m_data[1] =
6915
                static_cast<char>(static_cast<unsigned>(s.front()) >> 8);
6916
            if (s.size() == 1) {
6917
                return;
6918
            }
6919
            m_data[2] = static_cast<char>(static_cast<unsigned>(s[1]));
6920
            m_data[3] = static_cast<char>(static_cast<unsigned>(s[1]) >> 8);
6921
        }
6922
2.16k
        else {
6923
2.16k
            const auto front = static_cast<unsigned>(s.front());
6924
2.16k
            m_data[0] = static_cast<char>(front);
6925
2.16k
            m_data[1] = static_cast<char>(front >> 8);
6926
2.16k
            m_data[2] = static_cast<char>(front >> 16);
6927
2.16k
            m_data[3] = static_cast<char>(front >> 24);
6928
2.16k
        }
6929
2.16k
    }
6930
6931
    constexpr size_t size() const
6932
4.43k
    {
6933
4.43k
        return m_size;
6934
4.43k
    }
6935
6936
    template <typename CharT>
6937
    CharT get_code_unit() const
6938
2.98k
    {
6939
2.98k
        SCN_EXPECT(m_size <= sizeof(CharT));
6940
2.98k
        CharT r{};
6941
2.98k
        std::memcpy(&r, m_data, m_size);
6942
2.98k
        return r;
6943
2.98k
    }
char scn::v4::detail::fill_type::get_code_unit<char>() const
Line
Count
Source
6938
1.18k
    {
6939
1.18k
        SCN_EXPECT(m_size <= sizeof(CharT));
6940
1.18k
        CharT r{};
6941
1.18k
        std::memcpy(&r, m_data, m_size);
6942
1.18k
        return r;
6943
1.18k
    }
wchar_t scn::v4::detail::fill_type::get_code_unit<wchar_t>() const
Line
Count
Source
6938
1.79k
    {
6939
1.79k
        SCN_EXPECT(m_size <= sizeof(CharT));
6940
1.79k
        CharT r{};
6941
1.79k
        std::memcpy(&r, m_data, m_size);
6942
1.79k
        return r;
6943
1.79k
    }
6944
6945
    template <typename CharT>
6946
    std::basic_string_view<CharT> get_code_units() const
6947
1.45k
    {
6948
1.45k
        return {reinterpret_cast<const CharT*>(m_data), m_size};
6949
1.45k
    }
std::__1::basic_string_view<char, std::__1::char_traits<char> > scn::v4::detail::fill_type::get_code_units<char>() const
Line
Count
Source
6947
1.45k
    {
6948
1.45k
        return {reinterpret_cast<const CharT*>(m_data), m_size};
6949
1.45k
    }
Unexecuted instantiation: std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > scn::v4::detail::fill_type::get_code_units<wchar_t>() const
6950
6951
private:
6952
    static constexpr size_t max_size = 4;
6953
    char m_data[max_size] = {' '};
6954
    unsigned char m_size{1};
6955
};
6956
6957
struct format_specs {
6958
    int width{0}, precision{0};
6959
    fill_type fill{};
6960
    presentation_type type{presentation_type::none};
6961
    std::array<uint8_t, 128 / 8> charset_literals{0};
6962
    bool charset_has_nonascii{false}, charset_is_inverted{false};
6963
    const void* charset_string_data{nullptr};
6964
    size_t charset_string_size{0};
6965
    regex_flags regexp_flags{regex_flags::none};
6966
    unsigned char arbitrary_base{0};
6967
    align_type align{align_type::none};
6968
    bool localized{false};
6969
6970
    constexpr format_specs() = default;
6971
6972
    SCN_NODISCARD constexpr int get_base() const
6973
4.81k
    {
6974
4.81k
        SCN_GCC_COMPAT_PUSH
6975
4.81k
        SCN_GCC_COMPAT_IGNORE("-Wswitch-enum")
6976
4.81k
        switch (type) {
6977
2.16k
            case presentation_type::none:
6978
2.16k
                return 10;
6979
110
            case presentation_type::int_generic:
6980
110
                return 0;
6981
0
            case presentation_type::int_arbitrary_base:
6982
0
                return arbitrary_base;
6983
6984
92
            case presentation_type::int_binary:
6985
92
                return 2;
6986
84
            case presentation_type::int_octal:
6987
84
                return 8;
6988
52
            case presentation_type::int_decimal:
6989
110
            case presentation_type::int_unsigned_decimal:
6990
110
                return 10;
6991
2.25k
            case presentation_type::int_hex:
6992
2.25k
                return 16;
6993
6994
0
            default:
6995
0
                SCN_EXPECT(false);
6996
4.81k
                SCN_UNREACHABLE;
6997
4.81k
        }
6998
4.81k
        SCN_GCC_COMPAT_POP
6999
4.81k
    }
7000
7001
    template <typename CharT>
7002
    std::basic_string_view<CharT> charset_string() const
7003
4.41k
    {
7004
4.41k
        return {reinterpret_cast<const CharT*>(charset_string_data),
7005
4.41k
                charset_string_size};
7006
4.41k
    }
std::__1::basic_string_view<char, std::__1::char_traits<char> > scn::v4::detail::format_specs::charset_string<char>() const
Line
Count
Source
7003
3.74k
    {
7004
3.74k
        return {reinterpret_cast<const CharT*>(charset_string_data),
7005
3.74k
                charset_string_size};
7006
3.74k
    }
std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > scn::v4::detail::format_specs::charset_string<wchar_t>() const
Line
Count
Source
7003
666
    {
7004
666
        return {reinterpret_cast<const CharT*>(charset_string_data),
7005
666
                charset_string_size};
7006
666
    }
7007
};
7008
7009
struct specs_setter {
7010
public:
7011
39.0k
    explicit constexpr specs_setter(format_specs& specs) : m_specs(specs) {}
7012
7013
    constexpr void on_align(align_type align)
7014
7.35k
    {
7015
7.35k
        m_specs.align = align;
7016
7.35k
    }
7017
    template <typename CharT>
7018
    constexpr void on_fill(std::basic_string_view<CharT> fill)
7019
4.44k
    {
7020
4.44k
        m_specs.fill = fill;
7021
4.44k
    }
void scn::v4::detail::specs_setter::on_fill<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
7019
2.27k
    {
7020
2.27k
        m_specs.fill = fill;
7021
2.27k
    }
void scn::v4::detail::specs_setter::on_fill<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
Line
Count
Source
7019
2.16k
    {
7020
2.16k
        m_specs.fill = fill;
7021
2.16k
    }
7022
    template <bool Dependent = true>
7023
    constexpr void on_localized()
7024
440
    {
7025
440
        if constexpr (!SCN_DISABLE_LOCALE) {
7026
440
            m_specs.localized = true;
7027
        }
7028
        else {
7029
            on_error("'L' flag invalid when SCN_DISABLE_LOCALE is on");
7030
        }
7031
440
    }
7032
7033
    constexpr void on_width(int width)
7034
7.33k
    {
7035
7.33k
        if (m_specs.precision != 0 && width > m_specs.precision) {
7036
            // clang-format off
7037
0
            return this->on_error("Width (i.e., minimum field length) cannot be larger than precision (i.e., maximum field length)");
7038
            // clang-format on
7039
0
        }
7040
7041
7.33k
        m_specs.width = width;
7042
7.33k
    }
7043
    constexpr void on_precision(int prec)
7044
14.3k
    {
7045
14.3k
        if (m_specs.width > prec) {
7046
            // clang-format off
7047
68
            return this->on_error("Width (i.e., minimum field length) cannot be larger than precision (i.e., maximum field length)");
7048
            // clang-format on
7049
68
        }
7050
7051
14.2k
        m_specs.precision = prec;
7052
14.2k
    }
7053
7054
    constexpr void on_type(presentation_type type)
7055
42.6k
    {
7056
42.6k
        m_specs.type = type;
7057
42.6k
    }
7058
7059
    constexpr void on_charset_single(char32_t cp)
7060
1.33M
    {
7061
1.33M
        const auto cp_value = static_cast<unsigned>(cp);
7062
1.33M
        if (SCN_LIKELY(cp_value <= 127)) {
7063
1.12M
            m_specs.charset_literals[cp_value / 8] |=
7064
1.12M
                static_cast<unsigned char>(1ul << (cp_value % 8));
7065
1.12M
        }
7066
209k
        else {
7067
209k
            m_specs.charset_has_nonascii = true;
7068
209k
        }
7069
1.33M
    }
7070
7071
    constexpr void on_charset_range(char32_t begin, char32_t end)
7072
12.1k
    {
7073
12.1k
        const auto begin_value = static_cast<unsigned>(begin);
7074
12.1k
        const auto end_value = static_cast<unsigned>(end);
7075
12.1k
        SCN_EXPECT(begin_value < end_value);
7076
7077
12.1k
        if (SCN_LIKELY(end_value <= 127)) {
7078
            // No need to bit-twiddle with a mask, because with the
7079
            // SCN_ASSUME, -O3 will optimize this to a single operation
7080
6.53k
            SCN_ASSUME(begin_value < end_value);
7081
442k
            for (auto v = begin_value; v != end_value; ++v) {
7082
436k
                m_specs.charset_literals[v / 8] |=
7083
436k
                    static_cast<unsigned char>(1ul << (v % 8));
7084
436k
            }
7085
6.53k
        }
7086
5.61k
        else {
7087
5.61k
            m_specs.charset_has_nonascii = true;
7088
5.61k
        }
7089
12.1k
    }
7090
7091
    constexpr void on_charset_inverted()
7092
3.73k
    {
7093
3.73k
        m_specs.charset_is_inverted = true;
7094
3.73k
    }
7095
7096
    template <typename CharT>
7097
    constexpr void on_character_set_string(std::basic_string_view<CharT> fmt)
7098
13.4k
    {
7099
13.4k
        m_specs.charset_string_data = fmt.data();
7100
13.4k
        m_specs.charset_string_size = fmt.size();
7101
13.4k
        on_type(presentation_type::string_set);
7102
13.4k
    }
void scn::v4::detail::specs_setter::on_character_set_string<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
7098
10.4k
    {
7099
10.4k
        m_specs.charset_string_data = fmt.data();
7100
10.4k
        m_specs.charset_string_size = fmt.size();
7101
10.4k
        on_type(presentation_type::string_set);
7102
10.4k
    }
void scn::v4::detail::specs_setter::on_character_set_string<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
Line
Count
Source
7098
2.97k
    {
7099
2.97k
        m_specs.charset_string_data = fmt.data();
7100
2.97k
        m_specs.charset_string_size = fmt.size();
7101
2.97k
        on_type(presentation_type::string_set);
7102
2.97k
    }
7103
7104
    template <typename CharT>
7105
    constexpr void on_regex_pattern(std::basic_string_view<CharT> pattern)
7106
2.78k
    {
7107
2.78k
        m_specs.charset_string_data = pattern.data();
7108
2.78k
        m_specs.charset_string_size = pattern.size();
7109
2.78k
    }
void scn::v4::detail::specs_setter::on_regex_pattern<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
7106
2.78k
    {
7107
2.78k
        m_specs.charset_string_data = pattern.data();
7108
2.78k
        m_specs.charset_string_size = pattern.size();
7109
2.78k
    }
Unexecuted instantiation: void scn::v4::detail::specs_setter::on_regex_pattern<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
7110
    constexpr void on_regex_flags(regex_flags flags)
7111
2.66k
    {
7112
2.66k
        m_specs.regexp_flags = flags;
7113
2.66k
    }
7114
7115
    // Intentionally not constexpr
7116
    void on_error(const char* msg)
7117
9.79k
    {
7118
9.79k
        SCN_UNLIKELY_ATTR
7119
9.79k
        m_error = unexpected_scan_error(scan_error::invalid_format_string, msg);
7120
9.79k
    }
7121
    void on_error(scan_error err)
7122
0
    {
7123
0
        SCN_UNLIKELY_ATTR
7124
0
        m_error = unexpected(err);
7125
0
    }
7126
7127
    constexpr scan_expected<void> get_error() const
7128
1.39M
    {
7129
1.39M
        return m_error;
7130
1.39M
    }
7131
7132
protected:
7133
    format_specs& m_specs;
7134
    scan_expected<void> m_error;
7135
};
7136
7137
template <typename CharT>
7138
constexpr int parse_simple_int(const CharT*& begin, const CharT* end)
7139
22.4k
{
7140
22.4k
    SCN_EXPECT(begin != end);
7141
22.4k
    SCN_EXPECT(*begin >= '0' && *begin <= '9');
7142
7143
22.4k
    unsigned long long value = 0;
7144
40.8k
    do {
7145
40.8k
        value *= 10;
7146
40.8k
        value += static_cast<unsigned long long>(*begin - '0');
7147
40.8k
        if (value >
7148
40.8k
            static_cast<unsigned long long>(std::numeric_limits<int>::max())) {
7149
226
            return -1;
7150
226
        }
7151
40.6k
        ++begin;
7152
40.6k
    } while (begin != end && *begin >= '0' && *begin <= '9');
7153
22.1k
    return static_cast<int>(value);
7154
22.4k
}
int scn::v4::detail::parse_simple_int<char>(char const*&, char const*)
Line
Count
Source
7139
13.6k
{
7140
13.6k
    SCN_EXPECT(begin != end);
7141
13.6k
    SCN_EXPECT(*begin >= '0' && *begin <= '9');
7142
7143
13.6k
    unsigned long long value = 0;
7144
27.9k
    do {
7145
27.9k
        value *= 10;
7146
27.9k
        value += static_cast<unsigned long long>(*begin - '0');
7147
27.9k
        if (value >
7148
27.9k
            static_cast<unsigned long long>(std::numeric_limits<int>::max())) {
7149
116
            return -1;
7150
116
        }
7151
27.8k
        ++begin;
7152
27.8k
    } while (begin != end && *begin >= '0' && *begin <= '9');
7153
13.5k
    return static_cast<int>(value);
7154
13.6k
}
int scn::v4::detail::parse_simple_int<wchar_t>(wchar_t const*&, wchar_t const*)
Line
Count
Source
7139
8.73k
{
7140
8.73k
    SCN_EXPECT(begin != end);
7141
8.73k
    SCN_EXPECT(*begin >= '0' && *begin <= '9');
7142
7143
8.73k
    unsigned long long value = 0;
7144
12.8k
    do {
7145
12.8k
        value *= 10;
7146
12.8k
        value += static_cast<unsigned long long>(*begin - '0');
7147
12.8k
        if (value >
7148
12.8k
            static_cast<unsigned long long>(std::numeric_limits<int>::max())) {
7149
110
            return -1;
7150
110
        }
7151
12.7k
        ++begin;
7152
12.7k
    } while (begin != end && *begin >= '0' && *begin <= '9');
7153
8.62k
    return static_cast<int>(value);
7154
8.73k
}
7155
7156
template <typename CharT, typename IDHandler>
7157
constexpr const CharT* do_parse_arg_id(const CharT* begin,
7158
                                       const CharT* end,
7159
                                       IDHandler&& handler)
7160
70.9k
{
7161
70.9k
    SCN_EXPECT(begin != end);
7162
7163
70.9k
    CharT c = *begin;
7164
70.9k
    if (c < CharT{'0'} || c > CharT{'9'}) {
7165
68.4k
        handler.on_error("Invalid argument ID");
7166
68.4k
        return begin;
7167
68.4k
    }
7168
7169
2.51k
    int idx = 0;
7170
2.51k
    if (c != CharT{'0'}) {
7171
592
        idx = parse_simple_int(begin, end);
7172
592
    }
7173
1.92k
    else {
7174
1.92k
        ++begin;
7175
1.92k
    }
7176
7177
2.51k
    if (begin == end || (*begin != CharT{'}'} && *begin != CharT{':'})) {
7178
368
        handler.on_error("Invalid argument ID");
7179
368
        return begin;
7180
368
    }
7181
2.14k
    handler(idx);
7182
7183
2.14k
    return begin;
7184
2.51k
}
impl.cpp:char const* scn::v4::detail::do_parse_arg_id<char, scn::v4::detail::parse_replacement_field<char, scn::v4::(anonymous namespace)::format_handler<true, char> >(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<true, char>&)::id_adapter&>(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<true, char>&&)
Line
Count
Source
7160
18.3k
{
7161
18.3k
    SCN_EXPECT(begin != end);
7162
7163
18.3k
    CharT c = *begin;
7164
18.3k
    if (c < CharT{'0'} || c > CharT{'9'}) {
7165
17.5k
        handler.on_error("Invalid argument ID");
7166
17.5k
        return begin;
7167
17.5k
    }
7168
7169
794
    int idx = 0;
7170
794
    if (c != CharT{'0'}) {
7171
308
        idx = parse_simple_int(begin, end);
7172
308
    }
7173
486
    else {
7174
486
        ++begin;
7175
486
    }
7176
7177
794
    if (begin == end || (*begin != CharT{'}'} && *begin != CharT{':'})) {
7178
184
        handler.on_error("Invalid argument ID");
7179
184
        return begin;
7180
184
    }
7181
610
    handler(idx);
7182
7183
610
    return begin;
7184
794
}
Unexecuted instantiation: impl.cpp:char const* scn::v4::detail::do_parse_arg_id<char, scn::v4::detail::parse_replacement_field<char, scn::v4::(anonymous namespace)::format_handler<false, char> >(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<false, char>&)::id_adapter&>(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<false, char>&&)
impl.cpp:wchar_t const* scn::v4::detail::do_parse_arg_id<wchar_t, scn::v4::detail::parse_replacement_field<wchar_t, scn::v4::(anonymous namespace)::format_handler<true, wchar_t> >(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<true, wchar_t>&)::id_adapter&>(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<true, wchar_t>&&)
Line
Count
Source
7160
52.6k
{
7161
52.6k
    SCN_EXPECT(begin != end);
7162
7163
52.6k
    CharT c = *begin;
7164
52.6k
    if (c < CharT{'0'} || c > CharT{'9'}) {
7165
50.8k
        handler.on_error("Invalid argument ID");
7166
50.8k
        return begin;
7167
50.8k
    }
7168
7169
1.72k
    int idx = 0;
7170
1.72k
    if (c != CharT{'0'}) {
7171
284
        idx = parse_simple_int(begin, end);
7172
284
    }
7173
1.43k
    else {
7174
1.43k
        ++begin;
7175
1.43k
    }
7176
7177
1.72k
    if (begin == end || (*begin != CharT{'}'} && *begin != CharT{':'})) {
7178
184
        handler.on_error("Invalid argument ID");
7179
184
        return begin;
7180
184
    }
7181
1.53k
    handler(idx);
7182
7183
1.53k
    return begin;
7184
1.72k
}
Unexecuted instantiation: impl.cpp:wchar_t const* scn::v4::detail::do_parse_arg_id<wchar_t, scn::v4::detail::parse_replacement_field<wchar_t, scn::v4::(anonymous namespace)::format_handler<false, wchar_t> >(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<false, wchar_t>&)::id_adapter&>(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<false, wchar_t>&&)
7185
7186
template <typename CharT, typename IDHandler>
7187
constexpr const CharT* parse_arg_id(const CharT* begin,
7188
                                    const CharT* end,
7189
                                    IDHandler&& handler)
7190
108k
{
7191
108k
    SCN_EXPECT(begin != end);
7192
108k
    if (*begin != '}' && *begin != ':') {
7193
70.9k
        return do_parse_arg_id(begin, end, SCN_FWD(handler));
7194
70.9k
    }
7195
7196
37.2k
    handler();
7197
37.2k
    return begin;
7198
108k
}
impl.cpp:char const* scn::v4::detail::parse_arg_id<char, scn::v4::detail::parse_replacement_field<char, scn::v4::(anonymous namespace)::format_handler<true, char> >(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<true, char>&)::id_adapter&>(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<true, char>&&)
Line
Count
Source
7190
43.5k
{
7191
43.5k
    SCN_EXPECT(begin != end);
7192
43.5k
    if (*begin != '}' && *begin != ':') {
7193
18.3k
        return do_parse_arg_id(begin, end, SCN_FWD(handler));
7194
18.3k
    }
7195
7196
25.2k
    handler();
7197
25.2k
    return begin;
7198
43.5k
}
Unexecuted instantiation: impl.cpp:char const* scn::v4::detail::parse_arg_id<char, scn::v4::detail::parse_replacement_field<char, scn::v4::(anonymous namespace)::format_handler<false, char> >(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<false, char>&)::id_adapter&>(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<false, char>&&)
impl.cpp:wchar_t const* scn::v4::detail::parse_arg_id<wchar_t, scn::v4::detail::parse_replacement_field<wchar_t, scn::v4::(anonymous namespace)::format_handler<true, wchar_t> >(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<true, wchar_t>&)::id_adapter&>(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<true, wchar_t>&&)
Line
Count
Source
7190
64.6k
{
7191
64.6k
    SCN_EXPECT(begin != end);
7192
64.6k
    if (*begin != '}' && *begin != ':') {
7193
52.6k
        return do_parse_arg_id(begin, end, SCN_FWD(handler));
7194
52.6k
    }
7195
7196
12.0k
    handler();
7197
12.0k
    return begin;
7198
64.6k
}
Unexecuted instantiation: impl.cpp:wchar_t const* scn::v4::detail::parse_arg_id<wchar_t, scn::v4::detail::parse_replacement_field<wchar_t, scn::v4::(anonymous namespace)::format_handler<false, wchar_t> >(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<false, wchar_t>&)::id_adapter&>(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<false, wchar_t>&&)
7199
7200
template <typename CharT>
7201
constexpr presentation_type parse_presentation_type(CharT type)
7202
9.95k
{
7203
9.95k
    switch (type) {
7204
410
        case 'b':
7205
514
        case 'B':
7206
514
            return presentation_type::int_binary;
7207
250
        case 'd':
7208
250
            return presentation_type::int_decimal;
7209
464
        case 'i':
7210
464
            return presentation_type::int_generic;
7211
248
        case 'u':
7212
248
            return presentation_type::int_unsigned_decimal;
7213
356
        case 'o':
7214
356
            return presentation_type::int_octal;
7215
240
        case 'x':
7216
344
        case 'X':
7217
344
            return presentation_type::int_hex;
7218
68
        case 'r':
7219
136
        case 'R':
7220
136
            return presentation_type::int_arbitrary_base;
7221
328
        case 'a':
7222
1.18k
        case 'A':
7223
1.18k
            return presentation_type::float_hex;
7224
158
        case 'e':
7225
406
        case 'E':
7226
406
            return presentation_type::float_scientific;
7227
356
        case 'f':
7228
586
        case 'F':
7229
586
            return presentation_type::float_fixed;
7230
184
        case 'g':
7231
330
        case 'G':
7232
330
            return presentation_type::float_general;
7233
2.98k
        case 's':
7234
2.98k
            return presentation_type::string;
7235
896
        case 'c':
7236
896
            return presentation_type::character;
7237
68
        case '?':
7238
68
            return presentation_type::escaped_character;
7239
184
        case 'p':
7240
184
            return presentation_type::pointer;
7241
0
        case '[':
7242
0
        case '/':
7243
            // Should be handled by parse_presentation_set and
7244
            // parse_presentation_regex
7245
0
            SCN_EXPECT(false);
7246
0
            SCN_UNREACHABLE;
7247
1.00k
        default:
7248
1.00k
            return presentation_type::none;
7249
9.95k
    }
7250
9.95k
}
scn::v4::detail::presentation_type scn::v4::detail::parse_presentation_type<char>(char)
Line
Count
Source
7202
5.38k
{
7203
5.38k
    switch (type) {
7204
142
        case 'b':
7205
194
        case 'B':
7206
194
            return presentation_type::int_binary;
7207
108
        case 'd':
7208
108
            return presentation_type::int_decimal;
7209
196
        case 'i':
7210
196
            return presentation_type::int_generic;
7211
88
        case 'u':
7212
88
            return presentation_type::int_unsigned_decimal;
7213
178
        case 'o':
7214
178
            return presentation_type::int_octal;
7215
98
        case 'x':
7216
150
        case 'X':
7217
150
            return presentation_type::int_hex;
7218
34
        case 'r':
7219
68
        case 'R':
7220
68
            return presentation_type::int_arbitrary_base;
7221
124
        case 'a':
7222
230
        case 'A':
7223
230
            return presentation_type::float_hex;
7224
88
        case 'e':
7225
230
        case 'E':
7226
230
            return presentation_type::float_scientific;
7227
214
        case 'f':
7228
320
        case 'F':
7229
320
            return presentation_type::float_fixed;
7230
150
        case 'g':
7231
226
        case 'G':
7232
226
            return presentation_type::float_general;
7233
2.21k
        case 's':
7234
2.21k
            return presentation_type::string;
7235
574
        case 'c':
7236
574
            return presentation_type::character;
7237
34
        case '?':
7238
34
            return presentation_type::escaped_character;
7239
78
        case 'p':
7240
78
            return presentation_type::pointer;
7241
0
        case '[':
7242
0
        case '/':
7243
            // Should be handled by parse_presentation_set and
7244
            // parse_presentation_regex
7245
0
            SCN_EXPECT(false);
7246
0
            SCN_UNREACHABLE;
7247
500
        default:
7248
500
            return presentation_type::none;
7249
5.38k
    }
7250
5.38k
}
scn::v4::detail::presentation_type scn::v4::detail::parse_presentation_type<wchar_t>(wchar_t)
Line
Count
Source
7202
4.57k
{
7203
4.57k
    switch (type) {
7204
268
        case 'b':
7205
320
        case 'B':
7206
320
            return presentation_type::int_binary;
7207
142
        case 'd':
7208
142
            return presentation_type::int_decimal;
7209
268
        case 'i':
7210
268
            return presentation_type::int_generic;
7211
160
        case 'u':
7212
160
            return presentation_type::int_unsigned_decimal;
7213
178
        case 'o':
7214
178
            return presentation_type::int_octal;
7215
142
        case 'x':
7216
194
        case 'X':
7217
194
            return presentation_type::int_hex;
7218
34
        case 'r':
7219
68
        case 'R':
7220
68
            return presentation_type::int_arbitrary_base;
7221
204
        case 'a':
7222
958
        case 'A':
7223
958
            return presentation_type::float_hex;
7224
70
        case 'e':
7225
176
        case 'E':
7226
176
            return presentation_type::float_scientific;
7227
142
        case 'f':
7228
266
        case 'F':
7229
266
            return presentation_type::float_fixed;
7230
34
        case 'g':
7231
104
        case 'G':
7232
104
            return presentation_type::float_general;
7233
772
        case 's':
7234
772
            return presentation_type::string;
7235
322
        case 'c':
7236
322
            return presentation_type::character;
7237
34
        case '?':
7238
34
            return presentation_type::escaped_character;
7239
106
        case 'p':
7240
106
            return presentation_type::pointer;
7241
0
        case '[':
7242
0
        case '/':
7243
            // Should be handled by parse_presentation_set and
7244
            // parse_presentation_regex
7245
0
            SCN_EXPECT(false);
7246
0
            SCN_UNREACHABLE;
7247
502
        default:
7248
502
            return presentation_type::none;
7249
4.57k
    }
7250
4.57k
}
7251
7252
template <typename CharT>
7253
constexpr bool is_ascii_letter(CharT ch)
7254
5.10k
{
7255
5.10k
    return (ch >= CharT{'a'} && ch <= CharT{'z'}) ||
7256
5.10k
           (ch >= CharT{'A'} && ch <= CharT{'Z'});
7257
5.10k
}
bool scn::v4::detail::is_ascii_letter<char>(char)
Line
Count
Source
7254
2.38k
{
7255
2.38k
    return (ch >= CharT{'a'} && ch <= CharT{'z'}) ||
7256
2.38k
           (ch >= CharT{'A'} && ch <= CharT{'Z'});
7257
2.38k
}
bool scn::v4::detail::is_ascii_letter<wchar_t>(wchar_t)
Line
Count
Source
7254
2.71k
{
7255
2.71k
    return (ch >= CharT{'a'} && ch <= CharT{'z'}) ||
7256
2.71k
           (ch >= CharT{'A'} && ch <= CharT{'Z'});
7257
2.71k
}
7258
7259
template <typename CharT>
7260
constexpr int code_point_length(const CharT* begin, const CharT* end)
7261
37.5k
{
7262
37.5k
    SCN_EXPECT(begin != end);
7263
37.5k
    if constexpr (sizeof(CharT) != 1) {
7264
12.8k
        return 1;
7265
    }
7266
24.7k
    else {
7267
24.7k
        const auto lengths =
7268
24.7k
            "\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\0\0\0\0\0\0\0\0\2\2\2\2\3"
7269
24.7k
            "\3\4";
7270
24.7k
        const int len = lengths[static_cast<unsigned char>(*begin) >> 3];
7271
24.7k
        return len;
7272
24.7k
    }
7273
37.5k
}
int scn::v4::detail::code_point_length<char>(char const*, char const*)
Line
Count
Source
7261
24.7k
{
7262
24.7k
    SCN_EXPECT(begin != end);
7263
    if constexpr (sizeof(CharT) != 1) {
7264
        return 1;
7265
    }
7266
24.7k
    else {
7267
24.7k
        const auto lengths =
7268
24.7k
            "\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\0\0\0\0\0\0\0\0\2\2\2\2\3"
7269
24.7k
            "\3\4";
7270
24.7k
        const int len = lengths[static_cast<unsigned char>(*begin) >> 3];
7271
24.7k
        return len;
7272
24.7k
    }
7273
24.7k
}
int scn::v4::detail::code_point_length<wchar_t>(wchar_t const*, wchar_t const*)
Line
Count
Source
7261
12.8k
{
7262
12.8k
    SCN_EXPECT(begin != end);
7263
12.8k
    if constexpr (sizeof(CharT) != 1) {
7264
12.8k
        return 1;
7265
    }
7266
    else {
7267
        const auto lengths =
7268
            "\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\0\0\0\0\0\0\0\0\2\2\2\2\3"
7269
            "\3\4";
7270
        const int len = lengths[static_cast<unsigned char>(*begin) >> 3];
7271
        return len;
7272
    }
7273
12.8k
}
7274
7275
template <typename CharT, typename Handler>
7276
constexpr const CharT* parse_align(const CharT* begin,
7277
                                   const CharT* end,
7278
                                   Handler&& handler)
7279
37.5k
{
7280
37.5k
    SCN_EXPECT(begin != end);
7281
7282
72.8k
    auto check_align = [](wchar_t ch) {
7283
72.8k
        switch (ch) {
7284
1.95k
            case L'<':
7285
1.95k
                return align_type::left;
7286
1.29k
            case L'>':
7287
1.29k
                return align_type::right;
7288
5.55k
            case L'^':
7289
5.55k
                return align_type::center;
7290
64.0k
            default:
7291
64.0k
                return align_type::none;
7292
72.8k
        }
7293
72.8k
    };
impl.cpp:scn::v4::detail::parse_align<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&>(char const*, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&)::{lambda(wchar_t)#1}::operator()(wchar_t) const
Line
Count
Source
7282
48.2k
    auto check_align = [](wchar_t ch) {
7283
48.2k
        switch (ch) {
7284
1.41k
            case L'<':
7285
1.41k
                return align_type::left;
7286
940
            case L'>':
7287
940
                return align_type::right;
7288
3.00k
            case L'^':
7289
3.00k
                return align_type::center;
7290
42.9k
            default:
7291
42.9k
                return align_type::none;
7292
48.2k
        }
7293
48.2k
    };
Unexecuted instantiation: impl.cpp:scn::v4::detail::parse_align<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&>(char const*, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&)::{lambda(wchar_t)#1}::operator()(wchar_t) const
impl.cpp:scn::v4::detail::parse_align<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&)::{lambda(wchar_t)#1}::operator()(wchar_t) const
Line
Count
Source
7282
24.5k
    auto check_align = [](wchar_t ch) {
7283
24.5k
        switch (ch) {
7284
536
            case L'<':
7285
536
                return align_type::left;
7286
356
            case L'>':
7287
356
                return align_type::right;
7288
2.54k
            case L'^':
7289
2.54k
                return align_type::center;
7290
21.1k
            default:
7291
21.1k
                return align_type::none;
7292
24.5k
        }
7293
24.5k
    };
Unexecuted instantiation: impl.cpp:scn::v4::detail::parse_align<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&)::{lambda(wchar_t)#1}::operator()(wchar_t) const
7294
7295
37.5k
    auto potential_fill_len = code_point_length(begin, end);
7296
37.5k
    if (SCN_UNLIKELY(potential_fill_len == 0 ||
7297
37.5k
                     std::distance(begin, end) < potential_fill_len)) {
7298
42
        handler.on_error("Invalid encoding in fill character");
7299
42
        return begin;
7300
42
    }
7301
7302
37.5k
    auto potential_align_on_fill = check_align(static_cast<wchar_t>(*begin));
7303
7304
37.5k
    auto potential_fill = std::basic_string_view<CharT>{
7305
37.5k
        begin, static_cast<size_t>(potential_fill_len)};
7306
37.5k
    const auto begin_before_fill = begin;
7307
37.5k
    begin += potential_fill_len;
7308
7309
37.5k
    if (begin == end) {
7310
2.17k
        return begin_before_fill;
7311
2.17k
    }
7312
7313
35.3k
    auto potential_align_after_fill = check_align(static_cast<wchar_t>(*begin));
7314
35.3k
    const auto begin_after_fill = begin;
7315
35.3k
    ++begin;
7316
7317
35.3k
    if (potential_fill_len == 1) {
7318
33.2k
        if (SCN_UNLIKELY(potential_fill[0] == '{')) {
7319
102
            handler.on_error("Invalid fill character '{' in format string");
7320
102
            return begin;
7321
102
        }
7322
33.1k
        if (potential_fill[0] == '[') {
7323
9.62k
            return begin_before_fill;
7324
9.62k
        }
7325
33.1k
    }
7326
7327
25.6k
    if (potential_align_after_fill == align_type::none) {
7328
21.1k
        if (potential_align_on_fill != align_type::none) {
7329
2.90k
            handler.on_align(potential_align_on_fill);
7330
2.90k
            return begin_after_fill;
7331
2.90k
        }
7332
18.2k
        return begin_before_fill;
7333
21.1k
    }
7334
7335
4.44k
    handler.on_fill(potential_fill);
7336
4.44k
    handler.on_align(potential_align_after_fill);
7337
4.44k
    return begin;
7338
25.6k
}
impl.cpp:char const* scn::v4::detail::parse_align<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&>(char const*, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&)
Line
Count
Source
7279
24.7k
{
7280
24.7k
    SCN_EXPECT(begin != end);
7281
7282
24.7k
    auto check_align = [](wchar_t ch) {
7283
24.7k
        switch (ch) {
7284
24.7k
            case L'<':
7285
24.7k
                return align_type::left;
7286
24.7k
            case L'>':
7287
24.7k
                return align_type::right;
7288
24.7k
            case L'^':
7289
24.7k
                return align_type::center;
7290
24.7k
            default:
7291
24.7k
                return align_type::none;
7292
24.7k
        }
7293
24.7k
    };
7294
7295
24.7k
    auto potential_fill_len = code_point_length(begin, end);
7296
24.7k
    if (SCN_UNLIKELY(potential_fill_len == 0 ||
7297
24.7k
                     std::distance(begin, end) < potential_fill_len)) {
7298
42
        handler.on_error("Invalid encoding in fill character");
7299
42
        return begin;
7300
42
    }
7301
7302
24.6k
    auto potential_align_on_fill = check_align(static_cast<wchar_t>(*begin));
7303
7304
24.6k
    auto potential_fill = std::basic_string_view<CharT>{
7305
24.6k
        begin, static_cast<size_t>(potential_fill_len)};
7306
24.6k
    const auto begin_before_fill = begin;
7307
24.6k
    begin += potential_fill_len;
7308
7309
24.6k
    if (begin == end) {
7310
1.04k
        return begin_before_fill;
7311
1.04k
    }
7312
7313
23.6k
    auto potential_align_after_fill = check_align(static_cast<wchar_t>(*begin));
7314
23.6k
    const auto begin_after_fill = begin;
7315
23.6k
    ++begin;
7316
7317
23.6k
    if (potential_fill_len == 1) {
7318
21.4k
        if (SCN_UNLIKELY(potential_fill[0] == '{')) {
7319
60
            handler.on_error("Invalid fill character '{' in format string");
7320
60
            return begin;
7321
60
        }
7322
21.4k
        if (potential_fill[0] == '[') {
7323
8.06k
            return begin_before_fill;
7324
8.06k
        }
7325
21.4k
    }
7326
7327
15.5k
    if (potential_align_after_fill == align_type::none) {
7328
13.2k
        if (potential_align_on_fill != align_type::none) {
7329
2.09k
            handler.on_align(potential_align_on_fill);
7330
2.09k
            return begin_after_fill;
7331
2.09k
        }
7332
11.1k
        return begin_before_fill;
7333
13.2k
    }
7334
7335
2.27k
    handler.on_fill(potential_fill);
7336
2.27k
    handler.on_align(potential_align_after_fill);
7337
2.27k
    return begin;
7338
15.5k
}
Unexecuted instantiation: impl.cpp:char const* scn::v4::detail::parse_align<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&>(char const*, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&)
impl.cpp:wchar_t const* scn::v4::detail::parse_align<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&)
Line
Count
Source
7279
12.8k
{
7280
12.8k
    SCN_EXPECT(begin != end);
7281
7282
12.8k
    auto check_align = [](wchar_t ch) {
7283
12.8k
        switch (ch) {
7284
12.8k
            case L'<':
7285
12.8k
                return align_type::left;
7286
12.8k
            case L'>':
7287
12.8k
                return align_type::right;
7288
12.8k
            case L'^':
7289
12.8k
                return align_type::center;
7290
12.8k
            default:
7291
12.8k
                return align_type::none;
7292
12.8k
        }
7293
12.8k
    };
7294
7295
12.8k
    auto potential_fill_len = code_point_length(begin, end);
7296
12.8k
    if (SCN_UNLIKELY(potential_fill_len == 0 ||
7297
12.8k
                     std::distance(begin, end) < potential_fill_len)) {
7298
0
        handler.on_error("Invalid encoding in fill character");
7299
0
        return begin;
7300
0
    }
7301
7302
12.8k
    auto potential_align_on_fill = check_align(static_cast<wchar_t>(*begin));
7303
7304
12.8k
    auto potential_fill = std::basic_string_view<CharT>{
7305
12.8k
        begin, static_cast<size_t>(potential_fill_len)};
7306
12.8k
    const auto begin_before_fill = begin;
7307
12.8k
    begin += potential_fill_len;
7308
7309
12.8k
    if (begin == end) {
7310
1.13k
        return begin_before_fill;
7311
1.13k
    }
7312
7313
11.7k
    auto potential_align_after_fill = check_align(static_cast<wchar_t>(*begin));
7314
11.7k
    const auto begin_after_fill = begin;
7315
11.7k
    ++begin;
7316
7317
11.7k
    if (potential_fill_len == 1) {
7318
11.7k
        if (SCN_UNLIKELY(potential_fill[0] == '{')) {
7319
42
            handler.on_error("Invalid fill character '{' in format string");
7320
42
            return begin;
7321
42
        }
7322
11.6k
        if (potential_fill[0] == '[') {
7323
1.56k
            return begin_before_fill;
7324
1.56k
        }
7325
11.6k
    }
7326
7327
10.1k
    if (potential_align_after_fill == align_type::none) {
7328
7.95k
        if (potential_align_on_fill != align_type::none) {
7329
812
            handler.on_align(potential_align_on_fill);
7330
812
            return begin_after_fill;
7331
812
        }
7332
7.14k
        return begin_before_fill;
7333
7.95k
    }
7334
7335
2.16k
    handler.on_fill(potential_fill);
7336
2.16k
    handler.on_align(potential_align_after_fill);
7337
2.16k
    return begin;
7338
10.1k
}
Unexecuted instantiation: impl.cpp:wchar_t const* scn::v4::detail::parse_align<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&)
7339
7340
template <typename CharT, typename Handler>
7341
constexpr const CharT* parse_width(const CharT* begin,
7342
                                   const CharT* end,
7343
                                   Handler&& handler)
7344
37.3k
{
7345
37.3k
    SCN_EXPECT(begin != end);
7346
7347
37.3k
    if (*begin >= CharT{'0'} && *begin <= CharT{'9'}) {
7348
7.39k
        int width = parse_simple_int(begin, end);
7349
7.39k
        if (SCN_LIKELY(width != -1)) {
7350
7.33k
            handler.on_width(width);
7351
7.33k
        }
7352
68
        else {
7353
68
            handler.on_error("Invalid field width");
7354
68
            return begin;
7355
68
        }
7356
7.39k
    }
7357
37.2k
    return begin;
7358
37.3k
}
impl.cpp:char const* scn::v4::detail::parse_width<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&>(char const*, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&)
Line
Count
Source
7344
24.5k
{
7345
24.5k
    SCN_EXPECT(begin != end);
7346
7347
24.5k
    if (*begin >= CharT{'0'} && *begin <= CharT{'9'}) {
7348
3.67k
        int width = parse_simple_int(begin, end);
7349
3.67k
        if (SCN_LIKELY(width != -1)) {
7350
3.64k
            handler.on_width(width);
7351
3.64k
        }
7352
34
        else {
7353
34
            handler.on_error("Invalid field width");
7354
34
            return begin;
7355
34
        }
7356
3.67k
    }
7357
24.5k
    return begin;
7358
24.5k
}
Unexecuted instantiation: impl.cpp:char const* scn::v4::detail::parse_width<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&>(char const*, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&)
impl.cpp:wchar_t const* scn::v4::detail::parse_width<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&)
Line
Count
Source
7344
12.7k
{
7345
12.7k
    SCN_EXPECT(begin != end);
7346
7347
12.7k
    if (*begin >= CharT{'0'} && *begin <= CharT{'9'}) {
7348
3.72k
        int width = parse_simple_int(begin, end);
7349
3.72k
        if (SCN_LIKELY(width != -1)) {
7350
3.68k
            handler.on_width(width);
7351
3.68k
        }
7352
34
        else {
7353
34
            handler.on_error("Invalid field width");
7354
34
            return begin;
7355
34
        }
7356
3.72k
    }
7357
12.7k
    return begin;
7358
12.7k
}
Unexecuted instantiation: impl.cpp:wchar_t const* scn::v4::detail::parse_width<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&)
7359
7360
template <typename CharT, typename Handler>
7361
constexpr const CharT* parse_precision(const CharT* begin,
7362
                                       const CharT* end,
7363
                                       Handler&& handler)
7364
14.6k
{
7365
14.6k
    SCN_EXPECT(begin != end);
7366
7367
14.6k
    if (*begin >= CharT{'0'} && *begin <= CharT{'9'}) {
7368
14.4k
        int prec = parse_simple_int(begin, end);
7369
14.4k
        if (SCN_LIKELY(prec != -1)) {
7370
14.3k
            handler.on_precision(prec);
7371
14.3k
        }
7372
90
        else {
7373
90
            handler.on_error("Invalid field precision");
7374
90
            return begin;
7375
90
        }
7376
14.4k
    }
7377
14.5k
    return begin;
7378
14.6k
}
impl.cpp:char const* scn::v4::detail::parse_precision<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&>(char const*, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&)
Line
Count
Source
7364
9.79k
{
7365
9.79k
    SCN_EXPECT(begin != end);
7366
7367
9.79k
    if (*begin >= CharT{'0'} && *begin <= CharT{'9'}) {
7368
9.69k
        int prec = parse_simple_int(begin, end);
7369
9.69k
        if (SCN_LIKELY(prec != -1)) {
7370
9.65k
            handler.on_precision(prec);
7371
9.65k
        }
7372
48
        else {
7373
48
            handler.on_error("Invalid field precision");
7374
48
            return begin;
7375
48
        }
7376
9.69k
    }
7377
9.74k
    return begin;
7378
9.79k
}
Unexecuted instantiation: impl.cpp:char const* scn::v4::detail::parse_precision<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&>(char const*, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&)
impl.cpp:wchar_t const* scn::v4::detail::parse_precision<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&)
Line
Count
Source
7364
4.85k
{
7365
4.85k
    SCN_EXPECT(begin != end);
7366
7367
4.85k
    if (*begin >= CharT{'0'} && *begin <= CharT{'9'}) {
7368
4.73k
        int prec = parse_simple_int(begin, end);
7369
4.73k
        if (SCN_LIKELY(prec != -1)) {
7370
4.68k
            handler.on_precision(prec);
7371
4.68k
        }
7372
42
        else {
7373
42
            handler.on_error("Invalid field precision");
7374
42
            return begin;
7375
42
        }
7376
4.73k
    }
7377
4.81k
    return begin;
7378
4.85k
}
Unexecuted instantiation: impl.cpp:wchar_t const* scn::v4::detail::parse_precision<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&)
7379
7380
template <typename CharT, typename SpecHandler>
7381
constexpr char32_t parse_presentation_set_code_point(const CharT*& begin,
7382
                                                     const CharT* end,
7383
                                                     SpecHandler&& handler)
7384
1.80M
{
7385
1.80M
    SCN_EXPECT(begin != end);
7386
7387
1.80M
    auto len = code_point_length_by_starting_code_unit(*begin);
7388
1.80M
    if (SCN_UNLIKELY(len == 0 || static_cast<size_t>(end - begin) < len)) {
7389
96
        handler.on_error("Invalid encoding in format string");
7390
96
        return invalid_code_point;
7391
96
    }
7392
7393
1.80M
    const auto cp =
7394
1.80M
        decode_code_point_exhaustive(std::basic_string_view<CharT>{begin, len});
7395
1.80M
    if (SCN_UNLIKELY(cp >= invalid_code_point)) {
7396
222
        handler.on_error("Invalid encoding in format string");
7397
222
        return invalid_code_point;
7398
222
    }
7399
7400
1.80M
    begin += len;
7401
1.80M
    return cp;
7402
1.80M
}
char32_t scn::v4::detail::parse_presentation_set_code_point<char, scn::v4::impl::nonascii_specs_handler&>(char const*&, char const*, scn::v4::impl::nonascii_specs_handler&)
Line
Count
Source
7384
441k
{
7385
441k
    SCN_EXPECT(begin != end);
7386
7387
441k
    auto len = code_point_length_by_starting_code_unit(*begin);
7388
441k
    if (SCN_UNLIKELY(len == 0 || static_cast<size_t>(end - begin) < len)) {
7389
0
        handler.on_error("Invalid encoding in format string");
7390
0
        return invalid_code_point;
7391
0
    }
7392
7393
441k
    const auto cp =
7394
441k
        decode_code_point_exhaustive(std::basic_string_view<CharT>{begin, len});
7395
441k
    if (SCN_UNLIKELY(cp >= invalid_code_point)) {
7396
0
        handler.on_error("Invalid encoding in format string");
7397
0
        return invalid_code_point;
7398
0
    }
7399
7400
441k
    begin += len;
7401
441k
    return cp;
7402
441k
}
char32_t scn::v4::detail::parse_presentation_set_code_point<wchar_t, scn::v4::impl::nonascii_specs_handler&>(wchar_t const*&, wchar_t const*, scn::v4::impl::nonascii_specs_handler&)
Line
Count
Source
7384
7.02k
{
7385
7.02k
    SCN_EXPECT(begin != end);
7386
7387
7.02k
    auto len = code_point_length_by_starting_code_unit(*begin);
7388
7.02k
    if (SCN_UNLIKELY(len == 0 || static_cast<size_t>(end - begin) < len)) {
7389
0
        handler.on_error("Invalid encoding in format string");
7390
0
        return invalid_code_point;
7391
0
    }
7392
7393
7.02k
    const auto cp =
7394
7.02k
        decode_code_point_exhaustive(std::basic_string_view<CharT>{begin, len});
7395
7.02k
    if (SCN_UNLIKELY(cp >= invalid_code_point)) {
7396
0
        handler.on_error("Invalid encoding in format string");
7397
0
        return invalid_code_point;
7398
0
    }
7399
7400
7.02k
    begin += len;
7401
7.02k
    return cp;
7402
7.02k
}
impl.cpp:char32_t scn::v4::detail::parse_presentation_set_code_point<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&>(char const*&, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&)
Line
Count
Source
7384
1.33M
{
7385
1.33M
    SCN_EXPECT(begin != end);
7386
7387
1.33M
    auto len = code_point_length_by_starting_code_unit(*begin);
7388
1.33M
    if (SCN_UNLIKELY(len == 0 || static_cast<size_t>(end - begin) < len)) {
7389
96
        handler.on_error("Invalid encoding in format string");
7390
96
        return invalid_code_point;
7391
96
    }
7392
7393
1.33M
    const auto cp =
7394
1.33M
        decode_code_point_exhaustive(std::basic_string_view<CharT>{begin, len});
7395
1.33M
    if (SCN_UNLIKELY(cp >= invalid_code_point)) {
7396
68
        handler.on_error("Invalid encoding in format string");
7397
68
        return invalid_code_point;
7398
68
    }
7399
7400
1.33M
    begin += len;
7401
1.33M
    return cp;
7402
1.33M
}
Unexecuted instantiation: impl.cpp:char32_t scn::v4::detail::parse_presentation_set_code_point<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&>(char const*&, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&)
impl.cpp:char32_t scn::v4::detail::parse_presentation_set_code_point<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&>(wchar_t const*&, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&)
Line
Count
Source
7384
26.6k
{
7385
26.6k
    SCN_EXPECT(begin != end);
7386
7387
26.6k
    auto len = code_point_length_by_starting_code_unit(*begin);
7388
26.6k
    if (SCN_UNLIKELY(len == 0 || static_cast<size_t>(end - begin) < len)) {
7389
0
        handler.on_error("Invalid encoding in format string");
7390
0
        return invalid_code_point;
7391
0
    }
7392
7393
26.6k
    const auto cp =
7394
26.6k
        decode_code_point_exhaustive(std::basic_string_view<CharT>{begin, len});
7395
26.6k
    if (SCN_UNLIKELY(cp >= invalid_code_point)) {
7396
154
        handler.on_error("Invalid encoding in format string");
7397
154
        return invalid_code_point;
7398
154
    }
7399
7400
26.5k
    begin += len;
7401
26.5k
    return cp;
7402
26.6k
}
Unexecuted instantiation: impl.cpp:char32_t scn::v4::detail::parse_presentation_set_code_point<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&>(wchar_t const*&, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&)
7403
7404
template <typename CharT, typename SpecHandler>
7405
constexpr void parse_presentation_set_literal(const CharT*& begin,
7406
                                              const CharT* end,
7407
                                              SpecHandler&& handler)
7408
1.79M
{
7409
1.79M
    SCN_EXPECT(begin != end);
7410
7411
1.79M
    auto cp_first = parse_presentation_set_code_point(begin, end, handler);
7412
1.79M
    if (SCN_UNLIKELY(cp_first >= invalid_code_point)) {
7413
214
        return;
7414
214
    }
7415
7416
1.79M
    if (begin != end && *begin == CharT{'-'} && (begin + 1) != end &&
7417
1.79M
        *(begin + 1) != CharT{']'}) {
7418
15.8k
        ++begin;
7419
7420
15.8k
        auto cp_second = parse_presentation_set_code_point(begin, end, handler);
7421
15.8k
        if (SCN_UNLIKELY(cp_second >= invalid_code_point)) {
7422
104
            return;
7423
104
        }
7424
7425
15.7k
        if (SCN_UNLIKELY(cp_second < cp_first)) {
7426
            // clang-format off
7427
68
            handler.on_error("Invalid range in [character set] format string argument: Range end before the beginning");
7428
            // clang-format on
7429
68
            return;
7430
68
        }
7431
7432
15.6k
        handler.on_charset_range(cp_first, cp_second + 1);
7433
15.6k
        return;
7434
15.7k
    }
7435
7436
1.77M
    handler.on_charset_single(cp_first);
7437
1.77M
}
void scn::v4::detail::parse_presentation_set_literal<char, scn::v4::impl::nonascii_specs_handler&>(char const*&, char const*, scn::v4::impl::nonascii_specs_handler&)
Line
Count
Source
7408
438k
{
7409
438k
    SCN_EXPECT(begin != end);
7410
7411
438k
    auto cp_first = parse_presentation_set_code_point(begin, end, handler);
7412
438k
    if (SCN_UNLIKELY(cp_first >= invalid_code_point)) {
7413
0
        return;
7414
0
    }
7415
7416
438k
    if (begin != end && *begin == CharT{'-'} && (begin + 1) != end &&
7417
438k
        *(begin + 1) != CharT{']'}) {
7418
2.89k
        ++begin;
7419
7420
2.89k
        auto cp_second = parse_presentation_set_code_point(begin, end, handler);
7421
2.89k
        if (SCN_UNLIKELY(cp_second >= invalid_code_point)) {
7422
0
            return;
7423
0
        }
7424
7425
2.89k
        if (SCN_UNLIKELY(cp_second < cp_first)) {
7426
            // clang-format off
7427
0
            handler.on_error("Invalid range in [character set] format string argument: Range end before the beginning");
7428
            // clang-format on
7429
0
            return;
7430
0
        }
7431
7432
2.89k
        handler.on_charset_range(cp_first, cp_second + 1);
7433
2.89k
        return;
7434
2.89k
    }
7435
7436
435k
    handler.on_charset_single(cp_first);
7437
435k
}
void scn::v4::detail::parse_presentation_set_literal<wchar_t, scn::v4::impl::nonascii_specs_handler&>(wchar_t const*&, wchar_t const*, scn::v4::impl::nonascii_specs_handler&)
Line
Count
Source
7408
6.43k
{
7409
6.43k
    SCN_EXPECT(begin != end);
7410
7411
6.43k
    auto cp_first = parse_presentation_set_code_point(begin, end, handler);
7412
6.43k
    if (SCN_UNLIKELY(cp_first >= invalid_code_point)) {
7413
0
        return;
7414
0
    }
7415
7416
6.43k
    if (begin != end && *begin == CharT{'-'} && (begin + 1) != end &&
7417
6.43k
        *(begin + 1) != CharT{']'}) {
7418
588
        ++begin;
7419
7420
588
        auto cp_second = parse_presentation_set_code_point(begin, end, handler);
7421
588
        if (SCN_UNLIKELY(cp_second >= invalid_code_point)) {
7422
0
            return;
7423
0
        }
7424
7425
588
        if (SCN_UNLIKELY(cp_second < cp_first)) {
7426
            // clang-format off
7427
0
            handler.on_error("Invalid range in [character set] format string argument: Range end before the beginning");
7428
            // clang-format on
7429
0
            return;
7430
0
        }
7431
7432
588
        handler.on_charset_range(cp_first, cp_second + 1);
7433
588
        return;
7434
588
    }
7435
7436
5.85k
    handler.on_charset_single(cp_first);
7437
5.85k
}
impl.cpp:void scn::v4::detail::parse_presentation_set_literal<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&>(char const*&, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&)
Line
Count
Source
7408
1.32M
{
7409
1.32M
    SCN_EXPECT(begin != end);
7410
7411
1.32M
    auto cp_first = parse_presentation_set_code_point(begin, end, handler);
7412
1.32M
    if (SCN_UNLIKELY(cp_first >= invalid_code_point)) {
7413
94
        return;
7414
94
    }
7415
7416
1.32M
    if (begin != end && *begin == CharT{'-'} && (begin + 1) != end &&
7417
1.32M
        *(begin + 1) != CharT{']'}) {
7418
9.90k
        ++begin;
7419
7420
9.90k
        auto cp_second = parse_presentation_set_code_point(begin, end, handler);
7421
9.90k
        if (SCN_UNLIKELY(cp_second >= invalid_code_point)) {
7422
70
            return;
7423
70
        }
7424
7425
9.83k
        if (SCN_UNLIKELY(cp_second < cp_first)) {
7426
            // clang-format off
7427
34
            handler.on_error("Invalid range in [character set] format string argument: Range end before the beginning");
7428
            // clang-format on
7429
34
            return;
7430
34
        }
7431
7432
9.79k
        handler.on_charset_range(cp_first, cp_second + 1);
7433
9.79k
        return;
7434
9.83k
    }
7435
7436
1.31M
    handler.on_charset_single(cp_first);
7437
1.31M
}
Unexecuted instantiation: impl.cpp:void scn::v4::detail::parse_presentation_set_literal<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&>(char const*&, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&)
impl.cpp:void scn::v4::detail::parse_presentation_set_literal<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&>(wchar_t const*&, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&)
Line
Count
Source
7408
24.2k
{
7409
24.2k
    SCN_EXPECT(begin != end);
7410
7411
24.2k
    auto cp_first = parse_presentation_set_code_point(begin, end, handler);
7412
24.2k
    if (SCN_UNLIKELY(cp_first >= invalid_code_point)) {
7413
120
        return;
7414
120
    }
7415
7416
24.1k
    if (begin != end && *begin == CharT{'-'} && (begin + 1) != end &&
7417
24.1k
        *(begin + 1) != CharT{']'}) {
7418
2.42k
        ++begin;
7419
7420
2.42k
        auto cp_second = parse_presentation_set_code_point(begin, end, handler);
7421
2.42k
        if (SCN_UNLIKELY(cp_second >= invalid_code_point)) {
7422
34
            return;
7423
34
        }
7424
7425
2.38k
        if (SCN_UNLIKELY(cp_second < cp_first)) {
7426
            // clang-format off
7427
34
            handler.on_error("Invalid range in [character set] format string argument: Range end before the beginning");
7428
            // clang-format on
7429
34
            return;
7430
34
        }
7431
7432
2.35k
        handler.on_charset_range(cp_first, cp_second + 1);
7433
2.35k
        return;
7434
2.38k
    }
7435
7436
21.6k
    handler.on_charset_single(cp_first);
7437
21.6k
}
Unexecuted instantiation: impl.cpp:void scn::v4::detail::parse_presentation_set_literal<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&>(wchar_t const*&, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&)
7438
7439
template <typename CharT, typename SpecHandler>
7440
constexpr std::basic_string_view<CharT> parse_presentation_set(
7441
    const CharT*& begin,
7442
    const CharT* end,
7443
    SpecHandler&& handler)
7444
18.3k
{
7445
18.3k
    SCN_EXPECT(begin != end);
7446
18.3k
    SCN_EXPECT(*begin == CharT{'['});
7447
7448
18.3k
    auto start = begin;
7449
18.3k
    ++begin;
7450
7451
18.3k
    if (SCN_UNLIKELY(begin == end)) {
7452
        // clang-format off
7453
76
        handler.on_error("Unexpected end of [character set] specifier in format string");
7454
        // clang-format on
7455
76
        return {};
7456
76
    }
7457
18.2k
    if (*begin == CharT{'^'}) {
7458
4.49k
        handler.on_charset_inverted();
7459
4.49k
        ++begin;
7460
4.49k
        if (SCN_UNLIKELY(begin == end)) {
7461
            // clang-format off
7462
68
            handler.on_error("Unexpected end of [character set] specifier in format string");
7463
            // clang-format on
7464
68
            return {};
7465
68
        }
7466
4.42k
        if (*begin == CharT{']'}) {
7467
116
            handler.on_charset_single(char32_t{']'});
7468
116
            ++begin;
7469
116
        }
7470
4.42k
    }
7471
13.7k
    else if (*begin == CharT{']'}) {
7472
68
        return {start, static_cast<size_t>(std::distance(start, ++begin))};
7473
68
    }
7474
7475
1.80M
    while (begin != end) {
7476
1.80M
        if (SCN_UNLIKELY(!handler.get_error())) {
7477
372
            break;
7478
372
        }
7479
7480
1.80M
        if (*begin == CharT{']'}) {
7481
16.9k
            return {start, static_cast<size_t>(std::distance(start, ++begin))};
7482
16.9k
        }
7483
7484
1.79M
        parse_presentation_set_literal(begin, end, handler);
7485
1.79M
    }
7486
7487
1.18k
    SCN_UNLIKELY_ATTR
7488
1.18k
    handler.on_error("Invalid [character set] specifier in format string");
7489
1.18k
    return {};
7490
18.1k
}
std::__1::basic_string_view<char, std::__1::char_traits<char> > scn::v4::detail::parse_presentation_set<char, scn::v4::impl::nonascii_specs_handler&>(char const*&, char const*, scn::v4::impl::nonascii_specs_handler&)
Line
Count
Source
7444
2.88k
{
7445
2.88k
    SCN_EXPECT(begin != end);
7446
2.88k
    SCN_EXPECT(*begin == CharT{'['});
7447
7448
2.88k
    auto start = begin;
7449
2.88k
    ++begin;
7450
7451
2.88k
    if (SCN_UNLIKELY(begin == end)) {
7452
        // clang-format off
7453
0
        handler.on_error("Unexpected end of [character set] specifier in format string");
7454
        // clang-format on
7455
0
        return {};
7456
0
    }
7457
2.88k
    if (*begin == CharT{'^'}) {
7458
444
        handler.on_charset_inverted();
7459
444
        ++begin;
7460
444
        if (SCN_UNLIKELY(begin == end)) {
7461
            // clang-format off
7462
0
            handler.on_error("Unexpected end of [character set] specifier in format string");
7463
            // clang-format on
7464
0
            return {};
7465
0
        }
7466
444
        if (*begin == CharT{']'}) {
7467
6
            handler.on_charset_single(char32_t{']'});
7468
6
            ++begin;
7469
6
        }
7470
444
    }
7471
2.43k
    else if (*begin == CharT{']'}) {
7472
0
        return {start, static_cast<size_t>(std::distance(start, ++begin))};
7473
0
    }
7474
7475
441k
    while (begin != end) {
7476
441k
        if (SCN_UNLIKELY(!handler.get_error())) {
7477
0
            break;
7478
0
        }
7479
7480
441k
        if (*begin == CharT{']'}) {
7481
2.88k
            return {start, static_cast<size_t>(std::distance(start, ++begin))};
7482
2.88k
        }
7483
7484
438k
        parse_presentation_set_literal(begin, end, handler);
7485
438k
    }
7486
7487
0
    SCN_UNLIKELY_ATTR
7488
0
    handler.on_error("Invalid [character set] specifier in format string");
7489
0
    return {};
7490
2.88k
}
std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > scn::v4::detail::parse_presentation_set<wchar_t, scn::v4::impl::nonascii_specs_handler&>(wchar_t const*&, wchar_t const*, scn::v4::impl::nonascii_specs_handler&)
Line
Count
Source
7444
666
{
7445
666
    SCN_EXPECT(begin != end);
7446
666
    SCN_EXPECT(*begin == CharT{'['});
7447
7448
666
    auto start = begin;
7449
666
    ++begin;
7450
7451
666
    if (SCN_UNLIKELY(begin == end)) {
7452
        // clang-format off
7453
0
        handler.on_error("Unexpected end of [character set] specifier in format string");
7454
        // clang-format on
7455
0
        return {};
7456
0
    }
7457
666
    if (*begin == CharT{'^'}) {
7458
318
        handler.on_charset_inverted();
7459
318
        ++begin;
7460
318
        if (SCN_UNLIKELY(begin == end)) {
7461
            // clang-format off
7462
0
            handler.on_error("Unexpected end of [character set] specifier in format string");
7463
            // clang-format on
7464
0
            return {};
7465
0
        }
7466
318
        if (*begin == CharT{']'}) {
7467
6
            handler.on_charset_single(char32_t{']'});
7468
6
            ++begin;
7469
6
        }
7470
318
    }
7471
348
    else if (*begin == CharT{']'}) {
7472
0
        return {start, static_cast<size_t>(std::distance(start, ++begin))};
7473
0
    }
7474
7475
7.10k
    while (begin != end) {
7476
7.10k
        if (SCN_UNLIKELY(!handler.get_error())) {
7477
0
            break;
7478
0
        }
7479
7480
7.10k
        if (*begin == CharT{']'}) {
7481
666
            return {start, static_cast<size_t>(std::distance(start, ++begin))};
7482
666
        }
7483
7484
6.43k
        parse_presentation_set_literal(begin, end, handler);
7485
6.43k
    }
7486
7487
0
    SCN_UNLIKELY_ATTR
7488
0
    handler.on_error("Invalid [character set] specifier in format string");
7489
0
    return {};
7490
666
}
impl.cpp:std::__1::basic_string_view<char, std::__1::char_traits<char> > scn::v4::detail::parse_presentation_set<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&>(char const*&, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&)
Line
Count
Source
7444
11.2k
{
7445
11.2k
    SCN_EXPECT(begin != end);
7446
11.2k
    SCN_EXPECT(*begin == CharT{'['});
7447
7448
11.2k
    auto start = begin;
7449
11.2k
    ++begin;
7450
7451
11.2k
    if (SCN_UNLIKELY(begin == end)) {
7452
        // clang-format off
7453
42
        handler.on_error("Unexpected end of [character set] specifier in format string");
7454
        // clang-format on
7455
42
        return {};
7456
42
    }
7457
11.2k
    if (*begin == CharT{'^'}) {
7458
2.24k
        handler.on_charset_inverted();
7459
2.24k
        ++begin;
7460
2.24k
        if (SCN_UNLIKELY(begin == end)) {
7461
            // clang-format off
7462
34
            handler.on_error("Unexpected end of [character set] specifier in format string");
7463
            // clang-format on
7464
34
            return {};
7465
34
        }
7466
2.21k
        if (*begin == CharT{']'}) {
7467
52
            handler.on_charset_single(char32_t{']'});
7468
52
            ++begin;
7469
52
        }
7470
2.21k
    }
7471
8.97k
    else if (*begin == CharT{']'}) {
7472
34
        return {start, static_cast<size_t>(std::distance(start, ++begin))};
7473
34
    }
7474
7475
1.33M
    while (begin != end) {
7476
1.33M
        if (SCN_UNLIKELY(!handler.get_error())) {
7477
216
            break;
7478
216
        }
7479
7480
1.33M
        if (*begin == CharT{']'}) {
7481
10.4k
            return {start, static_cast<size_t>(std::distance(start, ++begin))};
7482
10.4k
        }
7483
7484
1.32M
        parse_presentation_set_literal(begin, end, handler);
7485
1.32M
    }
7486
7487
700
    SCN_UNLIKELY_ATTR
7488
700
    handler.on_error("Invalid [character set] specifier in format string");
7489
700
    return {};
7490
11.1k
}
Unexecuted instantiation: impl.cpp:std::__1::basic_string_view<char, std::__1::char_traits<char> > scn::v4::detail::parse_presentation_set<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&>(char const*&, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&)
impl.cpp:std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > scn::v4::detail::parse_presentation_set<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&>(wchar_t const*&, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&)
Line
Count
Source
7444
3.56k
{
7445
3.56k
    SCN_EXPECT(begin != end);
7446
3.56k
    SCN_EXPECT(*begin == CharT{'['});
7447
7448
3.56k
    auto start = begin;
7449
3.56k
    ++begin;
7450
7451
3.56k
    if (SCN_UNLIKELY(begin == end)) {
7452
        // clang-format off
7453
34
        handler.on_error("Unexpected end of [character set] specifier in format string");
7454
        // clang-format on
7455
34
        return {};
7456
34
    }
7457
3.52k
    if (*begin == CharT{'^'}) {
7458
1.48k
        handler.on_charset_inverted();
7459
1.48k
        ++begin;
7460
1.48k
        if (SCN_UNLIKELY(begin == end)) {
7461
            // clang-format off
7462
34
            handler.on_error("Unexpected end of [character set] specifier in format string");
7463
            // clang-format on
7464
34
            return {};
7465
34
        }
7466
1.45k
        if (*begin == CharT{']'}) {
7467
52
            handler.on_charset_single(char32_t{']'});
7468
52
            ++begin;
7469
52
        }
7470
1.45k
    }
7471
2.03k
    else if (*begin == CharT{']'}) {
7472
34
        return {start, static_cast<size_t>(std::distance(start, ++begin))};
7473
34
    }
7474
7475
27.6k
    while (begin != end) {
7476
27.3k
        if (SCN_UNLIKELY(!handler.get_error())) {
7477
156
            break;
7478
156
        }
7479
7480
27.2k
        if (*begin == CharT{']'}) {
7481
2.97k
            return {start, static_cast<size_t>(std::distance(start, ++begin))};
7482
2.97k
        }
7483
7484
24.2k
        parse_presentation_set_literal(begin, end, handler);
7485
24.2k
    }
7486
7487
482
    SCN_UNLIKELY_ATTR
7488
482
    handler.on_error("Invalid [character set] specifier in format string");
7489
482
    return {};
7490
3.45k
}
Unexecuted instantiation: impl.cpp:std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > scn::v4::detail::parse_presentation_set<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&>(wchar_t const*&, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&)
7491
7492
template <typename CharT, typename SpecHandler>
7493
constexpr const CharT* parse_presentation_regex(const CharT*& begin,
7494
                                                const CharT* end,
7495
                                                SpecHandler&& handler)
7496
3.06k
{
7497
3.06k
#if !SCN_DISABLE_REGEX
7498
3.06k
    SCN_EXPECT(begin != end);
7499
3.06k
    SCN_EXPECT(*begin == CharT{'/'});
7500
7501
    if constexpr (!SCN_REGEX_SUPPORTS_WIDE_STRINGS &&
7502
42
                  std::is_same_v<CharT, wchar_t>) {
7503
42
        handler.on_error("Regex backend doesn't support wide strings as input");
7504
42
        return begin;
7505
42
    }
7506
7507
0
    auto start = begin;
7508
3.06k
    ++begin;
7509
7510
3.06k
    if (SCN_UNLIKELY(begin == end)) {
7511
34
        handler.on_error("Unexpected end of regex in format string");
7512
34
        return begin;
7513
34
    }
7514
7515
3.03k
    handler.on_type(presentation_type::regex);
7516
492k
    for (; begin != end; ++begin) {
7517
492k
        if (*begin == CharT{'/'}) {
7518
20.1k
            if (*(begin - 1) != CharT{'\\'}) {
7519
2.82k
                break;
7520
2.82k
            }
7521
17.3k
            else {
7522
17.3k
                handler.on_type(presentation_type::regex_escaped);
7523
17.3k
            }
7524
20.1k
        }
7525
492k
    }
7526
3.03k
    if (SCN_UNLIKELY(begin == end)) {
7527
166
        handler.on_error("Unexpected end of regex in format string");
7528
166
        return begin;
7529
166
    }
7530
7531
2.86k
    auto regex_end = begin;
7532
2.86k
    auto regex_pattern = make_string_view_from_pointers(start + 1, regex_end);
7533
2.86k
    if (SCN_UNLIKELY(regex_pattern.empty())) {
7534
34
        handler.on_error("Invalid (empty) regex in format string");
7535
34
        return begin;
7536
34
    }
7537
2.83k
    handler.on_regex_pattern(regex_pattern);
7538
2.83k
    ++begin;
7539
7540
2.83k
    if (SCN_UNLIKELY(begin == end)) {
7541
34
        handler.on_error("Unexpected end of regex in format string");
7542
34
        return begin;
7543
34
    }
7544
7545
2.79k
    regex_flags flags{regex_flags::none};
7546
2.79k
    constexpr std::array<std::pair<char, regex_flags>, 4> flag_map{
7547
2.79k
        {{'m', regex_flags::multiline},
7548
2.79k
         {'s', regex_flags::singleline},
7549
2.79k
         {'i', regex_flags::nocase},
7550
2.79k
         {'n', regex_flags::nocapture}}};
7551
3.01k
    for (; begin != end; ++begin) {
7552
2.93k
        if (*begin == CharT{'}'}) {
7553
2.62k
            break;
7554
2.62k
        }
7555
310
        bool found_flag = false;
7556
874
        for (auto flag : flag_map) {
7557
874
            if (static_cast<CharT>(flag.first) != *begin) {
7558
618
                continue;
7559
618
            }
7560
256
            if ((flags & flag.second) != regex_flags::none) {
7561
34
                handler.on_error("Flag set multiple times in regex");
7562
34
                return begin;
7563
34
            }
7564
#if SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_STD
7565
            if (*begin == CharT{'s'}) {
7566
                // clang-format off
7567
                handler.on_error("/s flag for regex isn't supported by regex backend");
7568
                // clang-format on
7569
            }
7570
#if !SCN_HAS_STD_REGEX_MULTILINE
7571
            if (*begin == CharT{'m'}) {
7572
                // clang-format off
7573
                handler.on_error("/m flag for regex isn't supported by regex backend");
7574
                // clang-format on
7575
            }
7576
#endif
7577
#endif
7578
222
            flags |= flag.second;
7579
222
            found_flag = true;
7580
222
            break;
7581
256
        }
7582
276
        if (!found_flag) {
7583
54
            handler.on_error("Invalid flag in regex");
7584
54
            return begin;
7585
54
        }
7586
276
    }
7587
2.70k
    handler.on_regex_flags(flags);
7588
7589
2.70k
    if (SCN_UNLIKELY(begin == end)) {
7590
42
        handler.on_error("Unexpected end of regex in format string");
7591
42
        return begin;
7592
42
    }
7593
7594
2.66k
    return begin;
7595
#else
7596
    handler.on_error("Regular expression support is disabled");
7597
    return {};
7598
#endif
7599
2.70k
}
impl.cpp:char const* scn::v4::detail::parse_presentation_regex<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&>(char const*&, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&)
Line
Count
Source
7496
3.02k
{
7497
3.02k
#if !SCN_DISABLE_REGEX
7498
3.02k
    SCN_EXPECT(begin != end);
7499
3.02k
    SCN_EXPECT(*begin == CharT{'/'});
7500
7501
    if constexpr (!SCN_REGEX_SUPPORTS_WIDE_STRINGS &&
7502
                  std::is_same_v<CharT, wchar_t>) {
7503
        handler.on_error("Regex backend doesn't support wide strings as input");
7504
        return begin;
7505
    }
7506
7507
3.02k
    auto start = begin;
7508
3.02k
    ++begin;
7509
7510
3.02k
    if (SCN_UNLIKELY(begin == end)) {
7511
34
        handler.on_error("Unexpected end of regex in format string");
7512
34
        return begin;
7513
34
    }
7514
7515
2.98k
    handler.on_type(presentation_type::regex);
7516
492k
    for (; begin != end; ++begin) {
7517
492k
        if (*begin == CharT{'/'}) {
7518
20.1k
            if (*(begin - 1) != CharT{'\\'}) {
7519
2.82k
                break;
7520
2.82k
            }
7521
17.3k
            else {
7522
17.3k
                handler.on_type(presentation_type::regex_escaped);
7523
17.3k
            }
7524
20.1k
        }
7525
492k
    }
7526
2.98k
    if (SCN_UNLIKELY(begin == end)) {
7527
166
        handler.on_error("Unexpected end of regex in format string");
7528
166
        return begin;
7529
166
    }
7530
7531
2.82k
    auto regex_end = begin;
7532
2.82k
    auto regex_pattern = make_string_view_from_pointers(start + 1, regex_end);
7533
2.82k
    if (SCN_UNLIKELY(regex_pattern.empty())) {
7534
34
        handler.on_error("Invalid (empty) regex in format string");
7535
34
        return begin;
7536
34
    }
7537
2.78k
    handler.on_regex_pattern(regex_pattern);
7538
2.78k
    ++begin;
7539
7540
2.78k
    if (SCN_UNLIKELY(begin == end)) {
7541
34
        handler.on_error("Unexpected end of regex in format string");
7542
34
        return begin;
7543
34
    }
7544
7545
2.75k
    regex_flags flags{regex_flags::none};
7546
2.75k
    constexpr std::array<std::pair<char, regex_flags>, 4> flag_map{
7547
2.75k
        {{'m', regex_flags::multiline},
7548
2.75k
         {'s', regex_flags::singleline},
7549
2.75k
         {'i', regex_flags::nocase},
7550
2.75k
         {'n', regex_flags::nocapture}}};
7551
2.97k
    for (; begin != end; ++begin) {
7552
2.93k
        if (*begin == CharT{'}'}) {
7553
2.62k
            break;
7554
2.62k
        }
7555
310
        bool found_flag = false;
7556
874
        for (auto flag : flag_map) {
7557
874
            if (static_cast<CharT>(flag.first) != *begin) {
7558
618
                continue;
7559
618
            }
7560
256
            if ((flags & flag.second) != regex_flags::none) {
7561
34
                handler.on_error("Flag set multiple times in regex");
7562
34
                return begin;
7563
34
            }
7564
#if SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_STD
7565
            if (*begin == CharT{'s'}) {
7566
                // clang-format off
7567
                handler.on_error("/s flag for regex isn't supported by regex backend");
7568
                // clang-format on
7569
            }
7570
#if !SCN_HAS_STD_REGEX_MULTILINE
7571
            if (*begin == CharT{'m'}) {
7572
                // clang-format off
7573
                handler.on_error("/m flag for regex isn't supported by regex backend");
7574
                // clang-format on
7575
            }
7576
#endif
7577
#endif
7578
222
            flags |= flag.second;
7579
222
            found_flag = true;
7580
222
            break;
7581
256
        }
7582
276
        if (!found_flag) {
7583
54
            handler.on_error("Invalid flag in regex");
7584
54
            return begin;
7585
54
        }
7586
276
    }
7587
2.66k
    handler.on_regex_flags(flags);
7588
7589
2.66k
    if (SCN_UNLIKELY(begin == end)) {
7590
42
        handler.on_error("Unexpected end of regex in format string");
7591
42
        return begin;
7592
42
    }
7593
7594
2.62k
    return begin;
7595
#else
7596
    handler.on_error("Regular expression support is disabled");
7597
    return {};
7598
#endif
7599
2.66k
}
Unexecuted instantiation: impl.cpp:char const* scn::v4::detail::parse_presentation_regex<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&>(char const*&, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&)
impl.cpp:wchar_t const* scn::v4::detail::parse_presentation_regex<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&>(wchar_t const*&, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&)
Line
Count
Source
7496
42
{
7497
42
#if !SCN_DISABLE_REGEX
7498
42
    SCN_EXPECT(begin != end);
7499
42
    SCN_EXPECT(*begin == CharT{'/'});
7500
7501
    if constexpr (!SCN_REGEX_SUPPORTS_WIDE_STRINGS &&
7502
42
                  std::is_same_v<CharT, wchar_t>) {
7503
42
        handler.on_error("Regex backend doesn't support wide strings as input");
7504
42
        return begin;
7505
42
    }
7506
7507
0
    auto start = begin;
7508
42
    ++begin;
7509
7510
42
    if (SCN_UNLIKELY(begin == end)) {
7511
0
        handler.on_error("Unexpected end of regex in format string");
7512
0
        return begin;
7513
0
    }
7514
7515
42
    handler.on_type(presentation_type::regex);
7516
42
    for (; begin != end; ++begin) {
7517
0
        if (*begin == CharT{'/'}) {
7518
0
            if (*(begin - 1) != CharT{'\\'}) {
7519
0
                break;
7520
0
            }
7521
0
            else {
7522
0
                handler.on_type(presentation_type::regex_escaped);
7523
0
            }
7524
0
        }
7525
0
    }
7526
42
    if (SCN_UNLIKELY(begin == end)) {
7527
0
        handler.on_error("Unexpected end of regex in format string");
7528
0
        return begin;
7529
0
    }
7530
7531
42
    auto regex_end = begin;
7532
42
    auto regex_pattern = make_string_view_from_pointers(start + 1, regex_end);
7533
42
    if (SCN_UNLIKELY(regex_pattern.empty())) {
7534
0
        handler.on_error("Invalid (empty) regex in format string");
7535
0
        return begin;
7536
0
    }
7537
42
    handler.on_regex_pattern(regex_pattern);
7538
42
    ++begin;
7539
7540
42
    if (SCN_UNLIKELY(begin == end)) {
7541
0
        handler.on_error("Unexpected end of regex in format string");
7542
0
        return begin;
7543
0
    }
7544
7545
42
    regex_flags flags{regex_flags::none};
7546
42
    constexpr std::array<std::pair<char, regex_flags>, 4> flag_map{
7547
42
        {{'m', regex_flags::multiline},
7548
42
         {'s', regex_flags::singleline},
7549
42
         {'i', regex_flags::nocase},
7550
42
         {'n', regex_flags::nocapture}}};
7551
42
    for (; begin != end; ++begin) {
7552
0
        if (*begin == CharT{'}'}) {
7553
0
            break;
7554
0
        }
7555
0
        bool found_flag = false;
7556
0
        for (auto flag : flag_map) {
7557
0
            if (static_cast<CharT>(flag.first) != *begin) {
7558
0
                continue;
7559
0
            }
7560
0
            if ((flags & flag.second) != regex_flags::none) {
7561
0
                handler.on_error("Flag set multiple times in regex");
7562
0
                return begin;
7563
0
            }
7564
#if SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_STD
7565
            if (*begin == CharT{'s'}) {
7566
                // clang-format off
7567
                handler.on_error("/s flag for regex isn't supported by regex backend");
7568
                // clang-format on
7569
            }
7570
#if !SCN_HAS_STD_REGEX_MULTILINE
7571
            if (*begin == CharT{'m'}) {
7572
                // clang-format off
7573
                handler.on_error("/m flag for regex isn't supported by regex backend");
7574
                // clang-format on
7575
            }
7576
#endif
7577
#endif
7578
0
            flags |= flag.second;
7579
0
            found_flag = true;
7580
0
            break;
7581
0
        }
7582
0
        if (!found_flag) {
7583
0
            handler.on_error("Invalid flag in regex");
7584
0
            return begin;
7585
0
        }
7586
0
    }
7587
42
    handler.on_regex_flags(flags);
7588
7589
42
    if (SCN_UNLIKELY(begin == end)) {
7590
0
        handler.on_error("Unexpected end of regex in format string");
7591
0
        return begin;
7592
0
    }
7593
7594
42
    return begin;
7595
#else
7596
    handler.on_error("Regular expression support is disabled");
7597
    return {};
7598
#endif
7599
42
}
Unexecuted instantiation: impl.cpp:wchar_t const* scn::v4::detail::parse_presentation_regex<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&>(wchar_t const*&, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&)
7600
7601
template <typename CharT, typename SpecHandler>
7602
constexpr const CharT* parse_format_specs(const CharT* begin,
7603
                                          const CharT* end,
7604
                                          SpecHandler&& handler)
7605
39.0k
{
7606
39.0k
    auto do_presentation = [&]() -> const CharT* {
7607
27.8k
        if (*begin == CharT{'['}) {
7608
14.8k
            auto set = parse_presentation_set(begin, end, handler);
7609
14.8k
            if (SCN_UNLIKELY(set.size() <= 2)) {
7610
                // clang-format off
7611
1.39k
                handler.on_error("Invalid (empty) [character set] specifier in format string");
7612
                // clang-format on
7613
1.39k
                return begin;
7614
1.39k
            }
7615
13.4k
            handler.on_character_set_string(set);
7616
13.4k
            return begin;
7617
14.8k
        }
7618
13.0k
        if (*begin == CharT{'/'}) {
7619
3.06k
            return parse_presentation_regex(begin, end, handler);
7620
3.06k
        }
7621
9.95k
        presentation_type type = parse_presentation_type(*begin++);
7622
9.95k
        if (SCN_UNLIKELY(type == presentation_type::none)) {
7623
1.00k
            handler.on_error("Invalid type specifier in format string");
7624
1.00k
            return begin;
7625
1.00k
        }
7626
8.95k
        handler.on_type(type);
7627
8.95k
        return begin;
7628
9.95k
    };
impl.cpp:scn::v4::detail::parse_format_specs<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&>(char const*, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&)::{lambda()#1}::operator()() const
Line
Count
Source
7606
19.6k
    auto do_presentation = [&]() -> const CharT* {
7607
19.6k
        if (*begin == CharT{'['}) {
7608
11.2k
            auto set = parse_presentation_set(begin, end, handler);
7609
11.2k
            if (SCN_UNLIKELY(set.size() <= 2)) {
7610
                // clang-format off
7611
810
                handler.on_error("Invalid (empty) [character set] specifier in format string");
7612
                // clang-format on
7613
810
                return begin;
7614
810
            }
7615
10.4k
            handler.on_character_set_string(set);
7616
10.4k
            return begin;
7617
11.2k
        }
7618
8.40k
        if (*begin == CharT{'/'}) {
7619
3.02k
            return parse_presentation_regex(begin, end, handler);
7620
3.02k
        }
7621
5.38k
        presentation_type type = parse_presentation_type(*begin++);
7622
5.38k
        if (SCN_UNLIKELY(type == presentation_type::none)) {
7623
500
            handler.on_error("Invalid type specifier in format string");
7624
500
            return begin;
7625
500
        }
7626
4.88k
        handler.on_type(type);
7627
4.88k
        return begin;
7628
5.38k
    };
Unexecuted instantiation: impl.cpp:scn::v4::detail::parse_format_specs<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&>(char const*, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&)::{lambda()#1}::operator()() const
impl.cpp:scn::v4::detail::parse_format_specs<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&)::{lambda()#1}::operator()() const
Line
Count
Source
7606
8.17k
    auto do_presentation = [&]() -> const CharT* {
7607
8.17k
        if (*begin == CharT{'['}) {
7608
3.56k
            auto set = parse_presentation_set(begin, end, handler);
7609
3.56k
            if (SCN_UNLIKELY(set.size() <= 2)) {
7610
                // clang-format off
7611
584
                handler.on_error("Invalid (empty) [character set] specifier in format string");
7612
                // clang-format on
7613
584
                return begin;
7614
584
            }
7615
2.97k
            handler.on_character_set_string(set);
7616
2.97k
            return begin;
7617
3.56k
        }
7618
4.61k
        if (*begin == CharT{'/'}) {
7619
42
            return parse_presentation_regex(begin, end, handler);
7620
42
        }
7621
4.57k
        presentation_type type = parse_presentation_type(*begin++);
7622
4.57k
        if (SCN_UNLIKELY(type == presentation_type::none)) {
7623
502
            handler.on_error("Invalid type specifier in format string");
7624
502
            return begin;
7625
502
        }
7626
4.06k
        handler.on_type(type);
7627
4.06k
        return begin;
7628
4.57k
    };
Unexecuted instantiation: impl.cpp:scn::v4::detail::parse_format_specs<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&)::{lambda()#1}::operator()() const
7629
7630
39.0k
    if (end - begin > 1 && *(begin + 1) == CharT{'}'} &&
7631
39.0k
        is_ascii_letter(*begin) && *begin != CharT{'L'}) {
7632
1.43k
        return do_presentation();
7633
1.43k
    }
7634
7635
37.5k
    if (SCN_UNLIKELY(begin == end)) {
7636
0
        handler.on_error("Unexpected end of format string");
7637
0
        return begin;
7638
0
    }
7639
7640
37.5k
    begin = parse_align(begin, end, handler);
7641
37.5k
    if (SCN_UNLIKELY(begin == end)) {
7642
246
        handler.on_error("Unexpected end of format string");
7643
246
        return begin;
7644
246
    }
7645
7646
37.3k
    begin = parse_width(begin, end, handler);
7647
37.3k
    if (SCN_UNLIKELY(begin == end)) {
7648
218
        handler.on_error("Unexpected end of format string");
7649
218
        return begin;
7650
218
    }
7651
7652
37.1k
    if (*begin == CharT{'.'}) {
7653
14.7k
        ++begin;
7654
14.7k
        if (SCN_UNLIKELY(begin == end)) {
7655
68
            handler.on_error("Unexpected end of format string");
7656
68
            return begin;
7657
68
        }
7658
14.6k
        begin = parse_precision(begin, end, handler);
7659
14.6k
        if (SCN_UNLIKELY(begin == end)) {
7660
248
            handler.on_error("Unexpected end of format string");
7661
248
            return begin;
7662
248
        }
7663
14.6k
    }
7664
7665
36.7k
    if (*begin == CharT{'L'}) {
7666
1.09k
        handler.on_localized();
7667
1.09k
        ++begin;
7668
1.09k
    }
7669
36.7k
    if (SCN_UNLIKELY(begin == end)) {
7670
104
        handler.on_error("Unexpected end of format string");
7671
104
        return begin;
7672
104
    }
7673
7674
36.6k
    if (begin != end && *begin != CharT{'}'}) {
7675
26.4k
        do_presentation();
7676
26.4k
    }
7677
36.6k
    if (SCN_UNLIKELY(begin == end)) {
7678
3.33k
        handler.on_error("Unexpected end of format string");
7679
3.33k
        return begin;
7680
3.33k
    }
7681
7682
33.3k
    return begin;
7683
36.6k
}
impl.cpp:char const* scn::v4::detail::parse_format_specs<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&>(char const*, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&)
Line
Count
Source
7605
25.6k
{
7606
25.6k
    auto do_presentation = [&]() -> const CharT* {
7607
25.6k
        if (*begin == CharT{'['}) {
7608
25.6k
            auto set = parse_presentation_set(begin, end, handler);
7609
25.6k
            if (SCN_UNLIKELY(set.size() <= 2)) {
7610
                // clang-format off
7611
25.6k
                handler.on_error("Invalid (empty) [character set] specifier in format string");
7612
                // clang-format on
7613
25.6k
                return begin;
7614
25.6k
            }
7615
25.6k
            handler.on_character_set_string(set);
7616
25.6k
            return begin;
7617
25.6k
        }
7618
25.6k
        if (*begin == CharT{'/'}) {
7619
25.6k
            return parse_presentation_regex(begin, end, handler);
7620
25.6k
        }
7621
25.6k
        presentation_type type = parse_presentation_type(*begin++);
7622
25.6k
        if (SCN_UNLIKELY(type == presentation_type::none)) {
7623
25.6k
            handler.on_error("Invalid type specifier in format string");
7624
25.6k
            return begin;
7625
25.6k
        }
7626
25.6k
        handler.on_type(type);
7627
25.6k
        return begin;
7628
25.6k
    };
7629
7630
25.6k
    if (end - begin > 1 && *(begin + 1) == CharT{'}'} &&
7631
25.6k
        is_ascii_letter(*begin) && *begin != CharT{'L'}) {
7632
916
        return do_presentation();
7633
916
    }
7634
7635
24.7k
    if (SCN_UNLIKELY(begin == end)) {
7636
0
        handler.on_error("Unexpected end of format string");
7637
0
        return begin;
7638
0
    }
7639
7640
24.7k
    begin = parse_align(begin, end, handler);
7641
24.7k
    if (SCN_UNLIKELY(begin == end)) {
7642
126
        handler.on_error("Unexpected end of format string");
7643
126
        return begin;
7644
126
    }
7645
7646
24.5k
    begin = parse_width(begin, end, handler);
7647
24.5k
    if (SCN_UNLIKELY(begin == end)) {
7648
102
        handler.on_error("Unexpected end of format string");
7649
102
        return begin;
7650
102
    }
7651
7652
24.4k
    if (*begin == CharT{'.'}) {
7653
9.82k
        ++begin;
7654
9.82k
        if (SCN_UNLIKELY(begin == end)) {
7655
34
            handler.on_error("Unexpected end of format string");
7656
34
            return begin;
7657
34
        }
7658
9.79k
        begin = parse_precision(begin, end, handler);
7659
9.79k
        if (SCN_UNLIKELY(begin == end)) {
7660
114
            handler.on_error("Unexpected end of format string");
7661
114
            return begin;
7662
114
        }
7663
9.79k
    }
7664
7665
24.3k
    if (*begin == CharT{'L'}) {
7666
500
        handler.on_localized();
7667
500
        ++begin;
7668
500
    }
7669
24.3k
    if (SCN_UNLIKELY(begin == end)) {
7670
52
        handler.on_error("Unexpected end of format string");
7671
52
        return begin;
7672
52
    }
7673
7674
24.2k
    if (begin != end && *begin != CharT{'}'}) {
7675
18.7k
        do_presentation();
7676
18.7k
    }
7677
24.2k
    if (SCN_UNLIKELY(begin == end)) {
7678
1.92k
        handler.on_error("Unexpected end of format string");
7679
1.92k
        return begin;
7680
1.92k
    }
7681
7682
22.3k
    return begin;
7683
24.2k
}
Unexecuted instantiation: impl.cpp:char const* scn::v4::detail::parse_format_specs<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&>(char const*, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&)
impl.cpp:wchar_t const* scn::v4::detail::parse_format_specs<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&)
Line
Count
Source
7605
13.3k
{
7606
13.3k
    auto do_presentation = [&]() -> const CharT* {
7607
13.3k
        if (*begin == CharT{'['}) {
7608
13.3k
            auto set = parse_presentation_set(begin, end, handler);
7609
13.3k
            if (SCN_UNLIKELY(set.size() <= 2)) {
7610
                // clang-format off
7611
13.3k
                handler.on_error("Invalid (empty) [character set] specifier in format string");
7612
                // clang-format on
7613
13.3k
                return begin;
7614
13.3k
            }
7615
13.3k
            handler.on_character_set_string(set);
7616
13.3k
            return begin;
7617
13.3k
        }
7618
13.3k
        if (*begin == CharT{'/'}) {
7619
13.3k
            return parse_presentation_regex(begin, end, handler);
7620
13.3k
        }
7621
13.3k
        presentation_type type = parse_presentation_type(*begin++);
7622
13.3k
        if (SCN_UNLIKELY(type == presentation_type::none)) {
7623
13.3k
            handler.on_error("Invalid type specifier in format string");
7624
13.3k
            return begin;
7625
13.3k
        }
7626
13.3k
        handler.on_type(type);
7627
13.3k
        return begin;
7628
13.3k
    };
7629
7630
13.3k
    if (end - begin > 1 && *(begin + 1) == CharT{'}'} &&
7631
13.3k
        is_ascii_letter(*begin) && *begin != CharT{'L'}) {
7632
520
        return do_presentation();
7633
520
    }
7634
7635
12.8k
    if (SCN_UNLIKELY(begin == end)) {
7636
0
        handler.on_error("Unexpected end of format string");
7637
0
        return begin;
7638
0
    }
7639
7640
12.8k
    begin = parse_align(begin, end, handler);
7641
12.8k
    if (SCN_UNLIKELY(begin == end)) {
7642
120
        handler.on_error("Unexpected end of format string");
7643
120
        return begin;
7644
120
    }
7645
7646
12.7k
    begin = parse_width(begin, end, handler);
7647
12.7k
    if (SCN_UNLIKELY(begin == end)) {
7648
116
        handler.on_error("Unexpected end of format string");
7649
116
        return begin;
7650
116
    }
7651
7652
12.6k
    if (*begin == CharT{'.'}) {
7653
4.88k
        ++begin;
7654
4.88k
        if (SCN_UNLIKELY(begin == end)) {
7655
34
            handler.on_error("Unexpected end of format string");
7656
34
            return begin;
7657
34
        }
7658
4.85k
        begin = parse_precision(begin, end, handler);
7659
4.85k
        if (SCN_UNLIKELY(begin == end)) {
7660
134
            handler.on_error("Unexpected end of format string");
7661
134
            return begin;
7662
134
        }
7663
4.85k
    }
7664
7665
12.4k
    if (*begin == CharT{'L'}) {
7666
590
        handler.on_localized();
7667
590
        ++begin;
7668
590
    }
7669
12.4k
    if (SCN_UNLIKELY(begin == end)) {
7670
52
        handler.on_error("Unexpected end of format string");
7671
52
        return begin;
7672
52
    }
7673
7674
12.4k
    if (begin != end && *begin != CharT{'}'}) {
7675
7.65k
        do_presentation();
7676
7.65k
    }
7677
12.4k
    if (SCN_UNLIKELY(begin == end)) {
7678
1.41k
        handler.on_error("Unexpected end of format string");
7679
1.41k
        return begin;
7680
1.41k
    }
7681
7682
10.9k
    return begin;
7683
12.4k
}
Unexecuted instantiation: impl.cpp:wchar_t const* scn::v4::detail::parse_format_specs<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&)
7684
7685
template <typename CharT, typename Handler>
7686
constexpr const CharT* parse_replacement_field(const CharT* begin,
7687
                                               const CharT* end,
7688
                                               Handler& handler)
7689
129k
{
7690
129k
    struct id_adapter {
7691
129k
        constexpr void operator()()
7692
129k
        {
7693
37.2k
            arg_id = handler.on_arg_id();
7694
37.2k
        }
impl.cpp:scn::v4::detail::parse_replacement_field<char, scn::v4::(anonymous namespace)::format_handler<true, char> >(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<true, char>&)::id_adapter::operator()()
Line
Count
Source
7692
25.2k
        {
7693
25.2k
            arg_id = handler.on_arg_id();
7694
25.2k
        }
Unexecuted instantiation: impl.cpp:scn::v4::detail::parse_replacement_field<char, scn::v4::(anonymous namespace)::format_handler<false, char> >(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<false, char>&)::id_adapter::operator()()
impl.cpp:scn::v4::detail::parse_replacement_field<wchar_t, scn::v4::(anonymous namespace)::format_handler<true, wchar_t> >(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<true, wchar_t>&)::id_adapter::operator()()
Line
Count
Source
7692
12.0k
        {
7693
12.0k
            arg_id = handler.on_arg_id();
7694
12.0k
        }
Unexecuted instantiation: impl.cpp:scn::v4::detail::parse_replacement_field<wchar_t, scn::v4::(anonymous namespace)::format_handler<false, wchar_t> >(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<false, wchar_t>&)::id_adapter::operator()()
7695
129k
        constexpr void operator()(std::size_t id)
7696
129k
        {
7697
2.14k
            arg_id = handler.on_arg_id(id);
7698
2.14k
        }
impl.cpp:scn::v4::detail::parse_replacement_field<char, scn::v4::(anonymous namespace)::format_handler<true, char> >(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<true, char>&)::id_adapter::operator()(unsigned long)
Line
Count
Source
7696
610
        {
7697
610
            arg_id = handler.on_arg_id(id);
7698
610
        }
Unexecuted instantiation: impl.cpp:scn::v4::detail::parse_replacement_field<char, scn::v4::(anonymous namespace)::format_handler<false, char> >(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<false, char>&)::id_adapter::operator()(unsigned long)
impl.cpp:scn::v4::detail::parse_replacement_field<wchar_t, scn::v4::(anonymous namespace)::format_handler<true, wchar_t> >(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<true, wchar_t>&)::id_adapter::operator()(unsigned long)
Line
Count
Source
7696
1.53k
        {
7697
1.53k
            arg_id = handler.on_arg_id(id);
7698
1.53k
        }
Unexecuted instantiation: impl.cpp:scn::v4::detail::parse_replacement_field<wchar_t, scn::v4::(anonymous namespace)::format_handler<false, wchar_t> >(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<false, wchar_t>&)::id_adapter::operator()(unsigned long)
7699
7700
129k
        constexpr void on_error(const char* msg)
7701
129k
        {
7702
68.7k
            SCN_UNLIKELY_ATTR
7703
68.7k
            handler.on_error(msg);
7704
68.7k
        }
impl.cpp:scn::v4::detail::parse_replacement_field<char, scn::v4::(anonymous namespace)::format_handler<true, char> >(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<true, char>&)::id_adapter::on_error(char const*)
Line
Count
Source
7701
17.7k
        {
7702
17.7k
            SCN_UNLIKELY_ATTR
7703
17.7k
            handler.on_error(msg);
7704
17.7k
        }
Unexecuted instantiation: impl.cpp:scn::v4::detail::parse_replacement_field<char, scn::v4::(anonymous namespace)::format_handler<false, char> >(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<false, char>&)::id_adapter::on_error(char const*)
impl.cpp:scn::v4::detail::parse_replacement_field<wchar_t, scn::v4::(anonymous namespace)::format_handler<true, wchar_t> >(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<true, wchar_t>&)::id_adapter::on_error(char const*)
Line
Count
Source
7701
51.0k
        {
7702
51.0k
            SCN_UNLIKELY_ATTR
7703
51.0k
            handler.on_error(msg);
7704
51.0k
        }
Unexecuted instantiation: impl.cpp:scn::v4::detail::parse_replacement_field<wchar_t, scn::v4::(anonymous namespace)::format_handler<false, wchar_t> >(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<false, wchar_t>&)::id_adapter::on_error(char const*)
7705
7706
129k
        Handler& handler;
7707
129k
        std::size_t arg_id;
7708
129k
    };
7709
7710
129k
    ++begin;
7711
129k
    if (SCN_UNLIKELY(begin == end)) {
7712
170
        handler.on_error("Unexpected end of replacement field");
7713
170
        return begin;
7714
170
    }
7715
7716
128k
    if (*begin == CharT{'}'}) {
7717
10.0k
        handler.on_replacement_field(handler.on_arg_id(), begin);
7718
10.0k
    }
7719
118k
    else if (*begin == CharT{'{'}) {
7720
10.6k
        handler.on_literal_text(begin, begin + 1);
7721
10.6k
    }
7722
108k
    else {
7723
108k
        auto adapter = id_adapter{handler, 0};
7724
108k
        begin = parse_arg_id(begin, end, adapter);
7725
7726
108k
        if (SCN_UNLIKELY(begin == end)) {
7727
222
            handler.on_error("Missing '}' in format string");
7728
222
            return begin;
7729
222
        }
7730
7731
107k
        if (*begin == CharT{'}'}) {
7732
300
            handler.on_replacement_field(adapter.arg_id, begin);
7733
300
        }
7734
107k
        else if (*begin == CharT{':'}) {
7735
39.1k
            if (SCN_UNLIKELY(begin + 1 == end)) {
7736
124
                handler.on_error("Unexpected end of replacement field");
7737
124
                return begin;
7738
124
            }
7739
39.0k
            begin = handler.on_format_specs(adapter.arg_id, begin + 1, end);
7740
39.0k
            if (SCN_UNLIKELY(begin == end || *begin != '}')) {
7741
5.03k
                handler.on_error("Unknown format specifier");
7742
5.03k
                return begin;
7743
5.03k
            }
7744
39.0k
        }
7745
68.5k
        else {
7746
68.5k
            SCN_UNLIKELY_ATTR
7747
68.5k
            handler.on_error("Missing '}' in format string");
7748
68.5k
            return begin;
7749
68.5k
        }
7750
107k
    }
7751
54.9k
    return begin + 1;
7752
128k
}
impl.cpp:char const* scn::v4::detail::parse_replacement_field<char, scn::v4::(anonymous namespace)::format_handler<true, char> >(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<true, char>&)
Line
Count
Source
7689
55.6k
{
7690
55.6k
    struct id_adapter {
7691
55.6k
        constexpr void operator()()
7692
55.6k
        {
7693
55.6k
            arg_id = handler.on_arg_id();
7694
55.6k
        }
7695
55.6k
        constexpr void operator()(std::size_t id)
7696
55.6k
        {
7697
55.6k
            arg_id = handler.on_arg_id(id);
7698
55.6k
        }
7699
7700
55.6k
        constexpr void on_error(const char* msg)
7701
55.6k
        {
7702
55.6k
            SCN_UNLIKELY_ATTR
7703
55.6k
            handler.on_error(msg);
7704
55.6k
        }
7705
7706
55.6k
        Handler& handler;
7707
55.6k
        std::size_t arg_id;
7708
55.6k
    };
7709
7710
55.6k
    ++begin;
7711
55.6k
    if (SCN_UNLIKELY(begin == end)) {
7712
100
        handler.on_error("Unexpected end of replacement field");
7713
100
        return begin;
7714
100
    }
7715
7716
55.5k
    if (*begin == CharT{'}'}) {
7717
5.66k
        handler.on_replacement_field(handler.on_arg_id(), begin);
7718
5.66k
    }
7719
49.9k
    else if (*begin == CharT{'{'}) {
7720
6.35k
        handler.on_literal_text(begin, begin + 1);
7721
6.35k
    }
7722
43.5k
    else {
7723
43.5k
        auto adapter = id_adapter{handler, 0};
7724
43.5k
        begin = parse_arg_id(begin, end, adapter);
7725
7726
43.5k
        if (SCN_UNLIKELY(begin == end)) {
7727
110
            handler.on_error("Missing '}' in format string");
7728
110
            return begin;
7729
110
        }
7730
7731
43.4k
        if (*begin == CharT{'}'}) {
7732
140
            handler.on_replacement_field(adapter.arg_id, begin);
7733
140
        }
7734
43.3k
        else if (*begin == CharT{':'}) {
7735
25.6k
            if (SCN_UNLIKELY(begin + 1 == end)) {
7736
74
                handler.on_error("Unexpected end of replacement field");
7737
74
                return begin;
7738
74
            }
7739
25.6k
            begin = handler.on_format_specs(adapter.arg_id, begin + 1, end);
7740
25.6k
            if (SCN_UNLIKELY(begin == end || *begin != '}')) {
7741
2.81k
                handler.on_error("Unknown format specifier");
7742
2.81k
                return begin;
7743
2.81k
            }
7744
25.6k
        }
7745
17.6k
        else {
7746
17.6k
            SCN_UNLIKELY_ATTR
7747
17.6k
            handler.on_error("Missing '}' in format string");
7748
17.6k
            return begin;
7749
17.6k
        }
7750
43.4k
    }
7751
34.9k
    return begin + 1;
7752
55.5k
}
Unexecuted instantiation: impl.cpp:char const* scn::v4::detail::parse_replacement_field<char, scn::v4::(anonymous namespace)::format_handler<false, char> >(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<false, char>&)
impl.cpp:wchar_t const* scn::v4::detail::parse_replacement_field<wchar_t, scn::v4::(anonymous namespace)::format_handler<true, wchar_t> >(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<true, wchar_t>&)
Line
Count
Source
7689
73.4k
{
7690
73.4k
    struct id_adapter {
7691
73.4k
        constexpr void operator()()
7692
73.4k
        {
7693
73.4k
            arg_id = handler.on_arg_id();
7694
73.4k
        }
7695
73.4k
        constexpr void operator()(std::size_t id)
7696
73.4k
        {
7697
73.4k
            arg_id = handler.on_arg_id(id);
7698
73.4k
        }
7699
7700
73.4k
        constexpr void on_error(const char* msg)
7701
73.4k
        {
7702
73.4k
            SCN_UNLIKELY_ATTR
7703
73.4k
            handler.on_error(msg);
7704
73.4k
        }
7705
7706
73.4k
        Handler& handler;
7707
73.4k
        std::size_t arg_id;
7708
73.4k
    };
7709
7710
73.4k
    ++begin;
7711
73.4k
    if (SCN_UNLIKELY(begin == end)) {
7712
70
        handler.on_error("Unexpected end of replacement field");
7713
70
        return begin;
7714
70
    }
7715
7716
73.3k
    if (*begin == CharT{'}'}) {
7717
4.42k
        handler.on_replacement_field(handler.on_arg_id(), begin);
7718
4.42k
    }
7719
68.9k
    else if (*begin == CharT{'{'}) {
7720
4.25k
        handler.on_literal_text(begin, begin + 1);
7721
4.25k
    }
7722
64.6k
    else {
7723
64.6k
        auto adapter = id_adapter{handler, 0};
7724
64.6k
        begin = parse_arg_id(begin, end, adapter);
7725
7726
64.6k
        if (SCN_UNLIKELY(begin == end)) {
7727
112
            handler.on_error("Missing '}' in format string");
7728
112
            return begin;
7729
112
        }
7730
7731
64.5k
        if (*begin == CharT{'}'}) {
7732
160
            handler.on_replacement_field(adapter.arg_id, begin);
7733
160
        }
7734
64.3k
        else if (*begin == CharT{':'}) {
7735
13.4k
            if (SCN_UNLIKELY(begin + 1 == end)) {
7736
50
                handler.on_error("Unexpected end of replacement field");
7737
50
                return begin;
7738
50
            }
7739
13.3k
            begin = handler.on_format_specs(adapter.arg_id, begin + 1, end);
7740
13.3k
            if (SCN_UNLIKELY(begin == end || *begin != '}')) {
7741
2.22k
                handler.on_error("Unknown format specifier");
7742
2.22k
                return begin;
7743
2.22k
            }
7744
13.3k
        }
7745
50.9k
        else {
7746
50.9k
            SCN_UNLIKELY_ATTR
7747
50.9k
            handler.on_error("Missing '}' in format string");
7748
50.9k
            return begin;
7749
50.9k
        }
7750
64.5k
    }
7751
19.9k
    return begin + 1;
7752
73.3k
}
Unexecuted instantiation: impl.cpp:wchar_t const* scn::v4::detail::parse_replacement_field<wchar_t, scn::v4::(anonymous namespace)::format_handler<false, wchar_t> >(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<false, wchar_t>&)
7753
7754
template <bool IsConstexpr, typename CharT, typename Handler>
7755
constexpr void parse_format_string_impl(std::basic_string_view<CharT> format,
7756
                                        Handler&& handler)
7757
151k
{
7758
    // TODO: memchr fast path with a larger (> 32) format string
7759
7760
151k
    auto begin = format.data();
7761
151k
    auto it = begin;
7762
151k
    const auto end = format.data() + format.size();
7763
7764
208M
    while (it != end) {
7765
208M
        const auto ch = *it++;
7766
208M
        if (ch == CharT{'{'}) {
7767
129k
            handler.on_literal_text(begin, it - 1);
7768
7769
129k
            begin = it = parse_replacement_field(it - 1, end, handler);
7770
129k
            if (!handler.get_error()) {
7771
108k
                return;
7772
108k
            }
7773
129k
        }
7774
208M
        else if (ch == CharT{'}'}) {
7775
2.82k
            if (SCN_UNLIKELY(it == end || *it != CharT{'}'})) {
7776
954
                handler.on_error("Unmatched '}' in format string");
7777
954
                return;
7778
954
            }
7779
7780
1.86k
            handler.on_literal_text(begin, it);
7781
1.86k
            begin = ++it;
7782
1.86k
        }
7783
208M
    }
7784
7785
41.9k
    handler.on_literal_text(begin, end);
7786
41.9k
}
impl.cpp:void scn::v4::detail::parse_format_string_impl<false, char, scn::v4::(anonymous namespace)::format_handler<true, char>&>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, scn::v4::(anonymous namespace)::format_handler<true, char>&)
Line
Count
Source
7757
50.6k
{
7758
    // TODO: memchr fast path with a larger (> 32) format string
7759
7760
50.6k
    auto begin = format.data();
7761
50.6k
    auto it = begin;
7762
50.6k
    const auto end = format.data() + format.size();
7763
7764
149k
    while (it != end) {
7765
143k
        const auto ch = *it++;
7766
143k
        if (ch == CharT{'{'}) {
7767
55.6k
            handler.on_literal_text(begin, it - 1);
7768
7769
55.6k
            begin = it = parse_replacement_field(it - 1, end, handler);
7770
55.6k
            if (!handler.get_error()) {
7771
43.7k
                return;
7772
43.7k
            }
7773
55.6k
        }
7774
88.3k
        else if (ch == CharT{'}'}) {
7775
2.01k
            if (SCN_UNLIKELY(it == end || *it != CharT{'}'})) {
7776
826
                handler.on_error("Unmatched '}' in format string");
7777
826
                return;
7778
826
            }
7779
7780
1.18k
            handler.on_literal_text(begin, it);
7781
1.18k
            begin = ++it;
7782
1.18k
        }
7783
143k
    }
7784
7785
6.01k
    handler.on_literal_text(begin, end);
7786
6.01k
}
Unexecuted instantiation: impl.cpp:void scn::v4::detail::parse_format_string_impl<false, char, scn::v4::(anonymous namespace)::format_handler<false, char>&>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, scn::v4::(anonymous namespace)::format_handler<false, char>&)
impl.cpp:void scn::v4::detail::parse_format_string_impl<false, wchar_t, scn::v4::(anonymous namespace)::format_handler<true, wchar_t>&>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, scn::v4::(anonymous namespace)::format_handler<true, wchar_t>&)
Line
Count
Source
7757
101k
{
7758
    // TODO: memchr fast path with a larger (> 32) format string
7759
7760
101k
    auto begin = format.data();
7761
101k
    auto it = begin;
7762
101k
    const auto end = format.data() + format.size();
7763
7764
208M
    while (it != end) {
7765
208M
        const auto ch = *it++;
7766
208M
        if (ch == CharT{'{'}) {
7767
73.4k
            handler.on_literal_text(begin, it - 1);
7768
7769
73.4k
            begin = it = parse_replacement_field(it - 1, end, handler);
7770
73.4k
            if (!handler.get_error()) {
7771
65.1k
                return;
7772
65.1k
            }
7773
73.4k
        }
7774
208M
        else if (ch == CharT{'}'}) {
7775
806
            if (SCN_UNLIKELY(it == end || *it != CharT{'}'})) {
7776
128
                handler.on_error("Unmatched '}' in format string");
7777
128
                return;
7778
128
            }
7779
7780
678
            handler.on_literal_text(begin, it);
7781
678
            begin = ++it;
7782
678
        }
7783
208M
    }
7784
7785
35.9k
    handler.on_literal_text(begin, end);
7786
35.9k
}
Unexecuted instantiation: impl.cpp:void scn::v4::detail::parse_format_string_impl<false, wchar_t, scn::v4::(anonymous namespace)::format_handler<false, wchar_t>&>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, scn::v4::(anonymous namespace)::format_handler<false, wchar_t>&)
7787
7788
template <bool IsConstexpr, typename CharT, typename Handler>
7789
constexpr scan_expected<void> parse_format_string(
7790
    std::basic_string_view<CharT> format,
7791
    Handler&& handler)
7792
151k
{
7793
151k
    parse_format_string_impl<IsConstexpr>(format, handler);
7794
151k
    handler.check_args_exhausted();
7795
151k
    return handler.get_error();
7796
151k
}
impl.cpp:scn::v4::scan_expected<void> scn::v4::detail::parse_format_string<false, char, scn::v4::(anonymous namespace)::format_handler<true, char>&>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, scn::v4::(anonymous namespace)::format_handler<true, char>&)
Line
Count
Source
7792
50.6k
{
7793
50.6k
    parse_format_string_impl<IsConstexpr>(format, handler);
7794
50.6k
    handler.check_args_exhausted();
7795
50.6k
    return handler.get_error();
7796
50.6k
}
Unexecuted instantiation: impl.cpp:scn::v4::scan_expected<void> scn::v4::detail::parse_format_string<false, char, scn::v4::(anonymous namespace)::format_handler<false, char>&>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, scn::v4::(anonymous namespace)::format_handler<false, char>&)
impl.cpp:scn::v4::scan_expected<void> scn::v4::detail::parse_format_string<false, wchar_t, scn::v4::(anonymous namespace)::format_handler<true, wchar_t>&>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, scn::v4::(anonymous namespace)::format_handler<true, wchar_t>&)
Line
Count
Source
7792
101k
{
7793
101k
    parse_format_string_impl<IsConstexpr>(format, handler);
7794
101k
    handler.check_args_exhausted();
7795
101k
    return handler.get_error();
7796
101k
}
Unexecuted instantiation: impl.cpp:scn::v4::scan_expected<void> scn::v4::detail::parse_format_string<false, wchar_t, scn::v4::(anonymous namespace)::format_handler<false, wchar_t>&>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, scn::v4::(anonymous namespace)::format_handler<false, wchar_t>&)
7797
7798
enum class arg_type_category {
7799
    none,
7800
    integer,
7801
    unsigned_integer,
7802
    floating,
7803
    string,
7804
    pointer,
7805
    boolean,
7806
    character,
7807
    custom
7808
};
7809
7810
constexpr arg_type_category get_category_for_arg_type(arg_type type)
7811
1.09k
{
7812
1.09k
    switch (type) {
7813
100
        case arg_type::none_type:
7814
100
            return arg_type_category::none;
7815
7816
0
        case arg_type::schar_type:
7817
0
        case arg_type::short_type:
7818
110
        case arg_type::int_type:
7819
110
        case arg_type::long_type:
7820
110
        case arg_type::llong_type:
7821
110
            return arg_type_category::integer;
7822
7823
0
        case arg_type::uchar_type:
7824
0
        case arg_type::ushort_type:
7825
110
        case arg_type::uint_type:
7826
110
        case arg_type::ulong_type:
7827
110
        case arg_type::ullong_type:
7828
110
            return arg_type_category::unsigned_integer;
7829
7830
110
        case arg_type::pointer_type:
7831
110
            return arg_type_category::pointer;
7832
110
        case arg_type::bool_type:
7833
110
            return arg_type_category::boolean;
7834
50
        case arg_type::narrow_character_type:
7835
110
        case arg_type::wide_character_type:
7836
110
        case arg_type::code_point_type:
7837
110
            return arg_type_category::character;
7838
7839
0
        case arg_type::float_type:
7840
110
        case arg_type::double_type:
7841
110
        case arg_type::ldouble_type:
7842
110
            return arg_type_category::floating;
7843
7844
50
        case arg_type::narrow_string_view_type:
7845
160
        case arg_type::narrow_string_type:
7846
220
        case arg_type::wide_string_view_type:
7847
330
        case arg_type::wide_string_type:
7848
330
            return arg_type_category::string;
7849
7850
0
        case arg_type::custom_type:
7851
0
            return arg_type_category::custom;
7852
7853
0
            SCN_CLANG_PUSH
7854
0
            SCN_CLANG_IGNORE("-Wcovered-switch-default")
7855
0
        default:
7856
0
            SCN_ENSURE(false);
7857
1.09k
            SCN_UNREACHABLE;
7858
1.09k
            SCN_CLANG_POP
7859
1.09k
    }
7860
7861
1.09k
    SCN_UNREACHABLE;
7862
1.09k
}
7863
7864
template <typename Handler>
7865
class specs_checker : public Handler {
7866
public:
7867
    template <typename H>
7868
    constexpr specs_checker(H&& handler, arg_type type)
7869
39.0k
        : Handler(SCN_FWD(handler)), m_arg_type(type)
7870
39.0k
    {
7871
39.0k
        SCN_EXPECT(m_arg_type != arg_type::custom_type);
7872
39.0k
    }
impl.cpp:scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >(scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >&&, scn::v4::detail::arg_type)
Line
Count
Source
7869
25.6k
        : Handler(SCN_FWD(handler)), m_arg_type(type)
7870
25.6k
    {
7871
25.6k
        SCN_EXPECT(m_arg_type != arg_type::custom_type);
7872
25.6k
    }
Unexecuted instantiation: impl.cpp:scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >(scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&&, scn::v4::detail::arg_type)
impl.cpp:scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >(scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >&&, scn::v4::detail::arg_type)
Line
Count
Source
7869
13.3k
        : Handler(SCN_FWD(handler)), m_arg_type(type)
7870
13.3k
    {
7871
13.3k
        SCN_EXPECT(m_arg_type != arg_type::custom_type);
7872
13.3k
    }
Unexecuted instantiation: impl.cpp:scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >(scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&&, scn::v4::detail::arg_type)
7873
7874
    constexpr void on_localized()
7875
1.09k
    {
7876
1.09k
        const auto cat = get_category_for_arg_type(m_arg_type);
7877
1.09k
        if (cat != arg_type_category::integer &&
7878
1.09k
            cat != arg_type_category::unsigned_integer &&
7879
1.09k
            cat != arg_type_category::floating &&
7880
1.09k
            cat != arg_type_category::boolean) {
7881
650
            SCN_UNLIKELY_ATTR
7882
            // clang-format off
7883
650
            return this->on_error("'L' specifier can only be used with arguments of integer, floating-point, or boolean types");
7884
            // clang-format on
7885
650
        }
7886
7887
440
        Handler::on_localized();
7888
440
    }
impl.cpp:scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >::on_localized()
Line
Count
Source
7875
500
    {
7876
500
        const auto cat = get_category_for_arg_type(m_arg_type);
7877
500
        if (cat != arg_type_category::integer &&
7878
500
            cat != arg_type_category::unsigned_integer &&
7879
500
            cat != arg_type_category::floating &&
7880
500
            cat != arg_type_category::boolean) {
7881
300
            SCN_UNLIKELY_ATTR
7882
            // clang-format off
7883
300
            return this->on_error("'L' specifier can only be used with arguments of integer, floating-point, or boolean types");
7884
            // clang-format on
7885
300
        }
7886
7887
200
        Handler::on_localized();
7888
200
    }
Unexecuted instantiation: impl.cpp:scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >::on_localized()
impl.cpp:scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >::on_localized()
Line
Count
Source
7875
590
    {
7876
590
        const auto cat = get_category_for_arg_type(m_arg_type);
7877
590
        if (cat != arg_type_category::integer &&
7878
590
            cat != arg_type_category::unsigned_integer &&
7879
590
            cat != arg_type_category::floating &&
7880
590
            cat != arg_type_category::boolean) {
7881
350
            SCN_UNLIKELY_ATTR
7882
            // clang-format off
7883
350
            return this->on_error("'L' specifier can only be used with arguments of integer, floating-point, or boolean types");
7884
            // clang-format on
7885
350
        }
7886
7887
240
        Handler::on_localized();
7888
240
    }
Unexecuted instantiation: impl.cpp:scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >::on_localized()
7889
7890
private:
7891
    arg_type m_arg_type;
7892
};
7893
7894
template <typename Handler>
7895
constexpr void check_int_type_specs(const format_specs& specs,
7896
                                    Handler&& handler)
7897
7.44k
{
7898
7.44k
    if (SCN_UNLIKELY(specs.type > presentation_type::int_hex)) {
7899
4.83k
        return handler.on_error("Invalid type specifier for integer type");
7900
4.83k
    }
7901
2.60k
    if (specs.localized) {
7902
160
        if (SCN_UNLIKELY(specs.type == presentation_type::int_binary)) {
7903
            // clang-format off
7904
16
            handler.on_error("'b'/'B' specifier not supported for localized integers");
7905
            // clang-format on
7906
16
            return;
7907
16
        }
7908
144
        if (SCN_UNLIKELY(specs.type == presentation_type::int_arbitrary_base)) {
7909
            // clang-format off
7910
0
            return handler.on_error("Arbitrary bases not supported for localized integers");
7911
            // clang-format on
7912
0
        }
7913
144
    }
7914
2.60k
}
Unexecuted instantiation: void scn::v4::detail::check_int_type_specs<scn::v4::detail::specs_checker<scn::v4::detail::specs_setter>&>(scn::v4::detail::format_specs const&, scn::v4::detail::specs_checker<scn::v4::detail::specs_setter>&)
void scn::v4::detail::check_int_type_specs<scn::v4::impl::reader_error_handler&>(scn::v4::detail::format_specs const&, scn::v4::impl::reader_error_handler&)
Line
Count
Source
7897
7.44k
{
7898
7.44k
    if (SCN_UNLIKELY(specs.type > presentation_type::int_hex)) {
7899
4.83k
        return handler.on_error("Invalid type specifier for integer type");
7900
4.83k
    }
7901
2.60k
    if (specs.localized) {
7902
160
        if (SCN_UNLIKELY(specs.type == presentation_type::int_binary)) {
7903
            // clang-format off
7904
16
            handler.on_error("'b'/'B' specifier not supported for localized integers");
7905
            // clang-format on
7906
16
            return;
7907
16
        }
7908
144
        if (SCN_UNLIKELY(specs.type == presentation_type::int_arbitrary_base)) {
7909
            // clang-format off
7910
0
            return handler.on_error("Arbitrary bases not supported for localized integers");
7911
            // clang-format on
7912
0
        }
7913
144
    }
7914
2.60k
}
7915
7916
template <typename Handler>
7917
constexpr void check_char_type_specs(const format_specs& specs,
7918
                                     Handler&& handler)
7919
3.62k
{
7920
3.62k
    if (specs.type > presentation_type::int_hex ||
7921
3.62k
        specs.type == presentation_type::int_arbitrary_base) {
7922
2.40k
        SCN_UNLIKELY_ATTR
7923
2.40k
        return handler.on_error("Invalid type specifier for character type");
7924
2.40k
    }
7925
3.62k
}
Unexecuted instantiation: void scn::v4::detail::check_char_type_specs<scn::v4::detail::specs_checker<scn::v4::detail::specs_setter>&>(scn::v4::detail::format_specs const&, scn::v4::detail::specs_checker<scn::v4::detail::specs_setter>&)
void scn::v4::detail::check_char_type_specs<scn::v4::impl::reader_error_handler&>(scn::v4::detail::format_specs const&, scn::v4::impl::reader_error_handler&)
Line
Count
Source
7919
3.62k
{
7920
3.62k
    if (specs.type > presentation_type::int_hex ||
7921
3.62k
        specs.type == presentation_type::int_arbitrary_base) {
7922
2.40k
        SCN_UNLIKELY_ATTR
7923
2.40k
        return handler.on_error("Invalid type specifier for character type");
7924
2.40k
    }
7925
3.62k
}
7926
7927
template <typename Handler>
7928
constexpr void check_code_point_type_specs(const format_specs& specs,
7929
                                           Handler&& handler)
7930
0
{
7931
0
    if (specs.type != presentation_type::none &&
7932
0
        specs.type != presentation_type::character) {
7933
0
        SCN_UNLIKELY_ATTR
7934
0
        return handler.on_error("Invalid type specifier for code point type");
7935
0
    }
7936
0
}
7937
7938
template <typename Handler>
7939
constexpr void check_float_type_specs(const format_specs& specs,
7940
                                      Handler&& handler)
7941
3.72k
{
7942
3.72k
    if (specs.type != presentation_type::none &&
7943
3.72k
        (specs.type < presentation_type::float_hex ||
7944
2.60k
         specs.type > presentation_type::float_general)) {
7945
2.38k
        SCN_UNLIKELY_ATTR
7946
2.38k
        return handler.on_error("Invalid type specifier for float type");
7947
2.38k
    }
7948
3.72k
}
Unexecuted instantiation: void scn::v4::detail::check_float_type_specs<scn::v4::detail::specs_checker<scn::v4::detail::specs_setter>&>(scn::v4::detail::format_specs const&, scn::v4::detail::specs_checker<scn::v4::detail::specs_setter>&)
void scn::v4::detail::check_float_type_specs<scn::v4::impl::reader_error_handler&>(scn::v4::detail::format_specs const&, scn::v4::impl::reader_error_handler&)
Line
Count
Source
7941
3.72k
{
7942
3.72k
    if (specs.type != presentation_type::none &&
7943
3.72k
        (specs.type < presentation_type::float_hex ||
7944
2.60k
         specs.type > presentation_type::float_general)) {
7945
2.38k
        SCN_UNLIKELY_ATTR
7946
2.38k
        return handler.on_error("Invalid type specifier for float type");
7947
2.38k
    }
7948
3.72k
}
7949
7950
template <typename Handler>
7951
constexpr void check_string_type_specs(const format_specs& specs,
7952
                                       Handler&& handler)
7953
10.8k
{
7954
10.8k
    if (specs.type == presentation_type::none ||
7955
10.8k
        specs.type == presentation_type::string ||
7956
10.8k
        specs.type == presentation_type::string_set ||
7957
10.8k
        specs.type == presentation_type::regex ||
7958
10.8k
        specs.type == presentation_type::regex_escaped) {
7959
9.46k
        return;
7960
9.46k
    }
7961
1.41k
    if (specs.type == presentation_type::character) {
7962
276
        if (SCN_UNLIKELY(specs.precision == 0)) {
7963
            // clang-format off
7964
12
            return handler.on_error("'c' type specifier for strings requires the field precision to be specified");
7965
            // clang-format on
7966
12
        }
7967
264
        return;
7968
276
    }
7969
1.14k
    SCN_UNLIKELY_ATTR
7970
1.14k
    handler.on_error("Invalid type specifier for string");
7971
1.14k
}
Unexecuted instantiation: void scn::v4::detail::check_string_type_specs<scn::v4::detail::specs_checker<scn::v4::detail::specs_setter>&>(scn::v4::detail::format_specs const&, scn::v4::detail::specs_checker<scn::v4::detail::specs_setter>&)
void scn::v4::detail::check_string_type_specs<scn::v4::impl::reader_error_handler&>(scn::v4::detail::format_specs const&, scn::v4::impl::reader_error_handler&)
Line
Count
Source
7953
10.8k
{
7954
10.8k
    if (specs.type == presentation_type::none ||
7955
10.8k
        specs.type == presentation_type::string ||
7956
10.8k
        specs.type == presentation_type::string_set ||
7957
10.8k
        specs.type == presentation_type::regex ||
7958
10.8k
        specs.type == presentation_type::regex_escaped) {
7959
9.46k
        return;
7960
9.46k
    }
7961
1.41k
    if (specs.type == presentation_type::character) {
7962
276
        if (SCN_UNLIKELY(specs.precision == 0)) {
7963
            // clang-format off
7964
12
            return handler.on_error("'c' type specifier for strings requires the field precision to be specified");
7965
            // clang-format on
7966
12
        }
7967
264
        return;
7968
276
    }
7969
1.14k
    SCN_UNLIKELY_ATTR
7970
1.14k
    handler.on_error("Invalid type specifier for string");
7971
1.14k
}
7972
7973
template <typename Handler>
7974
constexpr void check_pointer_type_specs(const format_specs& specs,
7975
                                        Handler&& handler)
7976
3.62k
{
7977
3.62k
    if (specs.type != presentation_type::none &&
7978
3.62k
        specs.type != presentation_type::pointer) {
7979
2.54k
        SCN_UNLIKELY_ATTR
7980
2.54k
        return handler.on_error("Invalid type specifier for pointer");
7981
2.54k
    }
7982
3.62k
}
Unexecuted instantiation: void scn::v4::detail::check_pointer_type_specs<scn::v4::detail::specs_checker<scn::v4::detail::specs_setter>&>(scn::v4::detail::format_specs const&, scn::v4::detail::specs_checker<scn::v4::detail::specs_setter>&)
void scn::v4::detail::check_pointer_type_specs<scn::v4::impl::reader_error_handler&>(scn::v4::detail::format_specs const&, scn::v4::impl::reader_error_handler&)
Line
Count
Source
7976
3.62k
{
7977
3.62k
    if (specs.type != presentation_type::none &&
7978
3.62k
        specs.type != presentation_type::pointer) {
7979
2.54k
        SCN_UNLIKELY_ATTR
7980
2.54k
        return handler.on_error("Invalid type specifier for pointer");
7981
2.54k
    }
7982
3.62k
}
7983
7984
template <typename Handler>
7985
constexpr void check_bool_type_specs(const format_specs& specs,
7986
                                     Handler&& handler)
7987
3.72k
{
7988
3.72k
    if (specs.type != presentation_type::none &&
7989
3.72k
        specs.type != presentation_type::string &&
7990
3.72k
        specs.type != presentation_type::int_generic &&
7991
3.72k
        specs.type != presentation_type::int_hex &&
7992
3.72k
        specs.type != presentation_type::int_binary &&
7993
3.72k
        specs.type != presentation_type::int_unsigned_decimal &&
7994
3.72k
        specs.type != presentation_type::int_octal &&
7995
3.72k
        specs.type != presentation_type::int_decimal) {
7996
2.09k
        SCN_UNLIKELY_ATTR
7997
2.09k
        return handler.on_error("Invalid type specifier for boolean");
7998
2.09k
    }
7999
3.72k
}
Unexecuted instantiation: void scn::v4::detail::check_bool_type_specs<scn::v4::detail::specs_checker<scn::v4::detail::specs_setter>&>(scn::v4::detail::format_specs const&, scn::v4::detail::specs_checker<scn::v4::detail::specs_setter>&)
void scn::v4::detail::check_bool_type_specs<scn::v4::impl::reader_error_handler&>(scn::v4::detail::format_specs const&, scn::v4::impl::reader_error_handler&)
Line
Count
Source
7987
3.72k
{
7988
3.72k
    if (specs.type != presentation_type::none &&
7989
3.72k
        specs.type != presentation_type::string &&
7990
3.72k
        specs.type != presentation_type::int_generic &&
7991
3.72k
        specs.type != presentation_type::int_hex &&
7992
3.72k
        specs.type != presentation_type::int_binary &&
7993
3.72k
        specs.type != presentation_type::int_unsigned_decimal &&
7994
3.72k
        specs.type != presentation_type::int_octal &&
7995
3.72k
        specs.type != presentation_type::int_decimal) {
7996
2.09k
        SCN_UNLIKELY_ATTR
7997
2.09k
        return handler.on_error("Invalid type specifier for boolean");
7998
2.09k
    }
7999
3.72k
}
8000
8001
template <typename Handler>
8002
constexpr void check_regex_type_specs(const format_specs& specs,
8003
                                      Handler&& handler)
8004
0
{
8005
0
    if (SCN_UNLIKELY(specs.type == presentation_type::none ||
8006
0
                     specs.charset_string_size == 0)) {
8007
        // clang-format off
8008
0
        return handler.on_error("Regular expression needs to specified when reading regex_matches");
8009
        // clang-format on
8010
0
    }
8011
0
    if (specs.type == presentation_type::regex ||
8012
0
        specs.type == presentation_type::regex_escaped) {
8013
0
        return;
8014
0
    }
8015
0
    SCN_UNLIKELY_ATTR
8016
0
    handler.on_error("Invalid type specifier for regex_matches");
8017
0
}
Unexecuted instantiation: void scn::v4::detail::check_regex_type_specs<scn::v4::detail::specs_checker<scn::v4::detail::specs_setter>&>(scn::v4::detail::format_specs const&, scn::v4::detail::specs_checker<scn::v4::detail::specs_setter>&)
Unexecuted instantiation: void scn::v4::detail::check_regex_type_specs<scn::v4::impl::reader_error_handler&>(scn::v4::detail::format_specs const&, scn::v4::impl::reader_error_handler&)
8018
}  // namespace detail
8019
8020
/**
8021
 * \defgroup format-string Format strings
8022
 *
8023
 * \brief Format string description
8024
 *
8025
 * The format string syntax is heavily influenced by {fmt} and
8026
 * `std::format`, and is largely compatible with it. Scanning functions,
8027
 * such as `scn::scan` and
8028
 * `scn::input`, use the format string syntax described in this section.
8029
 *
8030
 * Format strings consist of:
8031
 *
8032
 *  * Replacement fields, which are surrounded by curly braces `{}`.
8033
 *
8034
 *  * Non-whitespace characters (except `{}`; for literal braces, use
8035
 *    `{{` and `}}`), which consume exactly one identical character from the
8036
 *    input
8037
 *
8038
 *  * Whitespace characters, which consume any and all available consecutive
8039
 *    whitespace from the input.
8040
 *
8041
 * Literal characters are matched by code point one-to-one, with no
8042
 * normalization being done.
8043
 * `Ä` (U+00C4, UTF-8 0xc3 0x84) only matches another U+00C4, and not, for
8044
 * example, U+00A8 (DIAERESIS) and U+0041 (LATIN CAPITAL LETTER A).
8045
 *
8046
 * Characters (code points) are considered to be whitespace characters by
8047
 * the Unicode Pattern_White_Space property, as defined by UAX31-R3a.
8048
 * These code points are:
8049
 *
8050
 *  * ASCII whitespace characters ("\t\n\v\f\r ")
8051
 *  * U+0085 (next line)
8052
 *  * U+200E and U+200F (LEFT-TO-RIGHT MARK and RIGHT-TO-LEFT MARK)
8053
 *  * U+2028 and U+2029 (LINE SEPARATOR and PARAGRAPH SEPARATOR)
8054
 *
8055
 * The grammar for a replacement field is as follows:
8056
 *
8057
 * \code
8058
 * replacement-field   ::= '{' [arg-id] [':' format-spec] '}'
8059
 * arg-id              ::= positive-integer
8060
 *
8061
 * format-spec         ::= [fill-and-align]
8062
 *                         [width] [precision]
8063
 *                         ['L'] [type]
8064
 * fill-and-align      ::= [fill] align
8065
 * fill                ::= any character other than
8066
 *                         '{' or '}'
8067
 * align               ::= one of '<' '>' '^'
8068
 * width               ::= positive-integer
8069
 * precision           ::= '.' nonnegative-integer
8070
 * type                ::= 'a' | 'A' | 'b' | 'B' | 'c' | 'd' |
8071
 *                         'e' | 'E' | 'f' | 'F' | 'g' | 'G' |
8072
 *                         'o' | 'p' | 's' | 'x' | 'X' | 'i' | 'u'
8073
 * \endcode
8074
 *
8075
 * \section arg-ids Argument IDs
8076
 *
8077
 * The `arg-id` specifier can be used to index arguments manually.
8078
 * If manual indexing is used, all of the indices in a format string must be
8079
 * stated explicitly. The same `arg-id` can appear in the format string
8080
 * only once, and must refer to a valid argument.
8081
 *
8082
 * \code{.cpp}
8083
 * // Format string equivalent to "{0} to {1}"
8084
 * auto a = scn::scan<int, int>("2 to 300", "{} to {}");
8085
 * // a->values() == (2, 300)
8086
 *
8087
 * // Manual indexing
8088
 * auto b = scn::scan<int, int>("2 to 300", "{1} to {0}");
8089
 * // b->values() == (300, 2)
8090
 *
8091
 * // INVALID:
8092
 * // Automatic and manual indexing is mixed
8093
 * auto c = scn::scan<int, int>("2 to 300", "{} to {0}");
8094
 *
8095
 * // INVALID:
8096
 * // Same argument is referred to multiple times
8097
 * auto d = scn::scan<int, int>("2 to 300", "{0} to {0}");
8098
 *
8099
 * // INVALID:
8100
 * // {2} does not refer to an argument
8101
 * auto e = scn::scan<int, int>("2 to 300", "{0} to {2}");
8102
 * \endcode
8103
 *
8104
 * \section fill-and-align Fill and align
8105
 *
8106
 * Alignment allows for skipping character before and/or after a value.
8107
 * There are three possible values for alignment:
8108
 *
8109
 * <table>
8110
 * <caption id="align-table">
8111
 * Alignment options
8112
 * </caption>
8113
 *
8114
 * <tr><th>Option</th> <th>Meaning</th></tr>
8115
 *
8116
 * <tr>
8117
 * <td>`<`</td>
8118
 * <td>
8119
 * Align the value to the left (skips fill characters after the value)
8120
 * </td>
8121
 * </tr>
8122
 *
8123
 * <tr>
8124
 * <td>`>`</td>
8125
 * <td>
8126
 * Align the value to the right (skips fill characters before the value)
8127
 * </td>
8128
 * </tr>
8129
 *
8130
 * <tr>
8131
 * <td>`^`</td>
8132
 * <td>
8133
 * Align the value to the center
8134
 * (skips fill characters both before and after the value)
8135
 * </td>
8136
 * </tr>
8137
 * </table>
8138
 *
8139
 * The fill character can be any Unicode code point, except for `{` and `}`.
8140
 * The default fill is the space character `' '`.
8141
 *
8142
 * For format type specifiers other than `c` (default for `char` and `wchar_t`,
8143
 * available for `string` and `string_view`), `[...]`, and the regex `/.../`,
8144
 * the default alignment is `>`.
8145
 * Otherwise, the default alignment is `<`.
8146
 *
8147
 * In addition to the skipping of fill characters,
8148
 * for format type specifiers with the `>` default alignment,
8149
 * preceding whitespace is automatically skipped.
8150
 * This preceding whitespace isn't counted as part of the field width,
8151
 * as described below.
8152
 *
8153
 * The number of fill characters consumed can be controlled with the width and
8154
 * precision specifiers.
8155
 *
8156
 * \section width Width
8157
 *
8158
 * Width specifies the minimum number of characters that will be read from
8159
 * the source range. It can be any unsigned integer. Any fill characters skipped
8160
 * are included in the width
8161
 *
8162
 * For the purposes of width calculation, the same algorithm is used that in
8163
 * {fmt}. Every code point has a width of one, except the following ones
8164
 * have a width of 2:
8165
 *
8166
 * * any code point with the East_Asian_Width="W" or East_Asian_Width="F"
8167
 *   Derived Extracted Property as described by UAX#44
8168
 * * U+4DC0 – U+4DFF (Yijing Hexagram Symbols)
8169
 * * U+1F300 – U+1F5FF (Miscellaneous Symbols and Pictographs)
8170
 * * U+1F900 – U+1F9FF (Supplemental Symbols and Pictographs)
8171
 *
8172
 * \section precision Precision
8173
 *
8174
 * Precision specifies the maximum number of characters that will be read from
8175
 * the source range. The method for counting characters is the same as above,
8176
 * with the width field.
8177
 *
8178
 * \section localized Localized
8179
 *
8180
 * The `L` flag enables localized scanning.
8181
 * Its effects are different for each type it is used with:
8182
 *
8183
 *  * For integers, it enables locale-specific thousands separators
8184
 *  * For floating-point numbers, it enables locale-specific thousands and
8185
 *    radix (decimal) separators
8186
 *  * For booleans, it enables locale-specific textual representations (for
8187
 *    `true` and `false`)
8188
 *  * For other types, it has no effect
8189
 *
8190
 * \section type Type specifier
8191
 *
8192
 * The type specifier determines how the data is to be scanned.
8193
 * The type of the argument to be scanned determines what flags are valid.
8194
 *
8195
 * \subsection type-string Type specifier: strings
8196
 *
8197
 * <table>
8198
 * <caption id="type-string-table">
8199
 * String types (`std::basic_string` and `std::basic_string_view`)
8200
 * </caption>
8201
 * <tr><th>Type</th> <th>Meaning</th></tr>
8202
 * <tr>
8203
 * <td>none, `s`</td>
8204
 * <td>
8205
 * Copies from the input until a whitespace character is encountered, or,
8206
 * if using the `<` (left) or `^` (center) alignment,
8207
 * a fill character is encountered.
8208
 * </td>
8209
 * </tr>
8210
 * <tr>
8211
 * <td>`c`</td>
8212
 * <td>
8213
 * Copies from the input until the field width is exhausted.
8214
 * Doesn't skip preceding whitespace.
8215
 * Errors if no field precision is provided.
8216
 * </td>
8217
 * </tr>
8218
 * <tr>
8219
 * <td>`[...]`</td>
8220
 * <td>
8221
 * Character set matching: copies from the input until a character not specified
8222
 * in the set is encountered. Character ranges can be specified with `-`, and
8223
 * the entire selection can be inverted with a prefix `^`. Matches and supports
8224
 * arbitrary Unicode code points.
8225
 * Doesn't skip preceding whitespace.
8226
 * </td>
8227
 * </tr>
8228
 * <tr>
8229
 * <td>`/<regex>/<flags>`</td>
8230
 * <td>
8231
 * Regular expression matching: copies from the input until the input does not
8232
 * match the regex.
8233
 * Doesn't skip preceding whitespace.
8234
 * \see regex
8235
 * </td>
8236
 * </tr>
8237
 * </table>
8238
 *
8239
 * \note `std::basic_string_view` can only be scanned if the source is
8240
 * contiguous.
8241
 *
8242
 * \subsection type-int Type specifier: integers
8243
 *
8244
 * Integer values are scanned as if by using `std::from_chars`,
8245
 * except a positive `+` sign and a base prefix (like `0x`) are always
8246
 * allowed to be present.
8247
 *
8248
 * <table>
8249
 * <caption id="type-int-table">
8250
 * Integer types (`signed` and `unsigned` variants of `char`, `short`,
8251
 * `int`, `long`, and `long long`)
8252
 * </caption>
8253
 * <tr><th>Type</th> <th>Meaning</th></tr>
8254
 * <tr>
8255
 * <td>`b`, `B`</td>
8256
 * <td>
8257
 * `std::from_chars` with base `2`. The base prefix is `0b` or `0B`.
8258
 * </td>
8259
 * </tr>
8260
 * <tr>
8261
 * <td>`o`, `O`</td>
8262
 * <td>
8263
 * `std::from_chars` with base `8`. The base prefix is `0o` or `0O`, or just
8264
 * `0`.
8265
 * </td>
8266
 * </tr>
8267
 * <tr>
8268
 * <td>`x`, `X`</td>
8269
 * <td>
8270
 * `std::from_chars` with base `16`. The base prefix is `0x` or `0X`.
8271
 * </td>
8272
 * </tr>
8273
 * <tr>
8274
 * <td>`d`</td>
8275
 * <td>
8276
 * `std::from_chars` with base `10`. No base prefix allowed.
8277
 * </td>
8278
 * </tr>
8279
 * <tr>
8280
 * <td>`u`</td>
8281
 * <td>
8282
 * `std::from_chars` with base `10`. No base prefix or `-` sign allowed.
8283
 * </td>
8284
 * </tr>
8285
 * <tr>
8286
 * <td>`i`</td>
8287
 * <td>
8288
 * Detect the base from a possible prefix, defaulting to decimal (base-10).
8289
 * </td>
8290
 * </tr>
8291
 * <tr>
8292
 * <td>`rXX` (where XX = [2, 36])</td>
8293
 * <td>
8294
 * Custom base, without a base prefix (r stands for radix).
8295
 * </td>
8296
 * </tr>
8297
 * <tr>
8298
 * <td>`c`</td>
8299
 * <td>
8300
 * Copies a character (code unit) from the input.
8301
 * </td>
8302
 * </tr>
8303
 * <tr>
8304
 * <td>none</td>
8305
 * <td>
8306
 * Same as `d`.
8307
 * </td>
8308
 * </tr>
8309
 * </table>
8310
 *
8311
 * \subsection type-char Type specifier: characters
8312
 *
8313
 * <table>
8314
 * <caption id="type-char-table">
8315
 * Character types (`char` and `wchar_t`), and code points (`char32_t`)
8316
 * </caption>
8317
 * <tr><th>Type</th> <th>Meaning</th></tr>
8318
 * <tr>
8319
 * <td>none, `c`</td>
8320
 * <td>
8321
 * Copies a character (code point for `char32_t`, code unit otherwise) from the
8322
 * input.
8323
 * </td>
8324
 * </tr>
8325
 * <tr>
8326
 * <td>`b`, `B`, `d`, `i`, `o`, `O`, `u`, `x`, `X`</td>
8327
 * <td>
8328
 * Same as for integers, see above \ref type-int. Not allowed for `char32_t`.
8329
 * </td>
8330
 * </tr>
8331
 * </table>
8332
 *
8333
 * \note When scanning characters (`char` and `wchar_t`), the source range is
8334
 * read a single code unit at a time, and encoding is not respected.
8335
 *
8336
 * \subsection type-float Type specifier: floating-point values
8337
 *
8338
 * Floating-point values are scanned as if by using `std::from_chars`,
8339
 * except a positive `+` sign and a base prefix (like `0x`) are always
8340
 * allowed to be present.
8341
 *
8342
 * <table>
8343
 * <caption id="type-float-table">
8344
 * Floating-point types (`float`, `double`, and `long double`)
8345
 * </caption>
8346
 * <tr><th>Type</th> <th>Meaning</th></tr>
8347
 * <tr>
8348
 * <td>`a`, `A`</td>
8349
 * <td>
8350
 * `std::from_chars` with `std::chars_format::hex`.
8351
 * Prefix `0x`/`0X` is allowed.
8352
 * </td>
8353
 * </tr>
8354
 * <tr>
8355
 * <td>`e`, `E`</td>
8356
 * <td>
8357
 * `std::from_chars` with `std::chars_format::scientific`.
8358
 * </td>
8359
 * </tr>
8360
 * <tr>
8361
 * <td>`f`, `F`</td>
8362
 * <td>
8363
 * `std::from_chars` with `std::chars_format::fixed`.
8364
 * </td>
8365
 * </tr>
8366
 * <tr>
8367
 * <td>`g`, `G`</td>
8368
 * <td>
8369
 * `std::from_chars` with `std::chars_format::general`.
8370
 * </td>
8371
 * </tr>
8372
 * <tr>
8373
 * <td>none</td>
8374
 * <td>
8375
 * `std::from_chars` with `std::chars_format::general | std::chars_format::hex`.
8376
 * Prefix `0x`/`0X` is allowed.
8377
 * </td>
8378
 * </tr>
8379
 * </table>
8380
 *
8381
 * \subsection type-bool Type specifier: booleans
8382
 *
8383
 * <table>
8384
 * <caption id="type-bool-table">
8385
 * `bool`
8386
 * </caption>
8387
 * <tr><th>Type</th> <th>Meaning</th></tr>
8388
 * <tr>
8389
 * <td>`s`</td>
8390
 * <td>
8391
 * Allows for the textual representation (`true` or `false`).
8392
 * </td>
8393
 * </tr>
8394
 * <tr>
8395
 * <td>`b`, `B`, `d`, `i`, `o`, `O`, `u`, `x`, `X`</td>
8396
 * <td>
8397
 * Allows for the integral/numeric representation (`0` or `1`).
8398
 * </td>
8399
 * </tr>
8400
 * <tr>
8401
 * <td>none</td>
8402
 * <td>
8403
 * Allows for both the textual and the integral/numeric representation.
8404
 * </td>
8405
 * </tr>
8406
 * </table>
8407
 */
8408
8409
namespace detail {
8410
/**
8411
 * A runtime format string
8412
 *
8413
 * \ingroup format-string
8414
 */
8415
template <typename CharT>
8416
struct basic_runtime_format_string {
8417
151k
    basic_runtime_format_string(std::basic_string_view<CharT> s) : str(s) {}
scn::v4::detail::basic_runtime_format_string<char>::basic_runtime_format_string(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
8417
50.6k
    basic_runtime_format_string(std::basic_string_view<CharT> s) : str(s) {}
scn::v4::detail::basic_runtime_format_string<wchar_t>::basic_runtime_format_string(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
Line
Count
Source
8417
101k
    basic_runtime_format_string(std::basic_string_view<CharT> s) : str(s) {}
8418
8419
    basic_runtime_format_string(const basic_runtime_format_string&) = delete;
8420
    basic_runtime_format_string(basic_runtime_format_string&&) = delete;
8421
    basic_runtime_format_string& operator=(const basic_runtime_format_string&) =
8422
        delete;
8423
    basic_runtime_format_string& operator=(basic_runtime_format_string&&) =
8424
        delete;
8425
    ~basic_runtime_format_string() = default;
8426
8427
    std::basic_string_view<CharT> str;
8428
};
8429
}  // namespace detail
8430
8431
/**
8432
 * Create a runtime format string
8433
 *
8434
 * Can be used to avoid compile-time format string checking
8435
 *
8436
 * \ingroup format-string
8437
 */
8438
inline detail::basic_runtime_format_string<char> runtime_format(
8439
    std::string_view s)
8440
50.6k
{
8441
50.6k
    return s;
8442
50.6k
}
8443
inline detail::basic_runtime_format_string<wchar_t> runtime_format(
8444
    std::wstring_view s)
8445
101k
{
8446
101k
    return s;
8447
101k
}
8448
8449
namespace detail {
8450
struct compile_string {};
8451
8452
template <typename Str>
8453
inline constexpr bool is_compile_string_v =
8454
    std::is_base_of_v<compile_string, Str>;
8455
8456
template <typename Scanner, typename = void>
8457
inline constexpr bool scanner_has_format_specs_member_v = false;
8458
template <typename Scanner>
8459
inline constexpr bool scanner_has_format_specs_member_v<
8460
    Scanner,
8461
    std::void_t<decltype(SCN_DECLVAL(Scanner&)._format_specs())>> = true;
8462
8463
template <typename Scanner, typename ParseCtx>
8464
using dt_scanner_parse =
8465
    decltype(SCN_DECLVAL(Scanner&).parse(SCN_DECLVAL(ParseCtx&)));
8466
template <typename Scanner, typename T, typename Ctx>
8467
using dt_scanner_scan = decltype(SCN_DECLVAL(const Scanner&)
8468
                                     .scan(SCN_DECLVAL(T&), SCN_DECLVAL(Ctx&)));
8469
8470
template <typename Scanner,
8471
          typename Source,
8472
          typename T,
8473
          typename Ctx,
8474
          typename ParseCtx>
8475
constexpr typename ParseCtx::iterator parse_format_specs_impl(
8476
    ParseCtx& parse_ctx)
8477
{
8478
    static_assert(
8479
        std::is_default_constructible_v<Scanner>,
8480
        "Specializations of scn::scanner must be default constructible");
8481
    static_assert(mp_valid<dt_scanner_parse, Scanner, ParseCtx>::value,
8482
                  "Specializations of scn::scanner must have a "
8483
                  "parse(ParseContext&) member function.");
8484
    static_assert(
8485
        std::is_same_v<mp_eval_or<void, dt_scanner_parse, Scanner, ParseCtx>,
8486
                       typename ParseCtx::iterator>,
8487
        "scn::scanner::parse(ParseContext&) must return "
8488
        "ParseContext::iterator. To report an error from scanner::parse, "
8489
        "either throw an exception derived from scn::scan_format_string_error, "
8490
        "or call ParseContext::on_error.");
8491
    static_assert(mp_valid<dt_scanner_scan, Scanner, T, Ctx>::value,
8492
                  "Specializations of scn::scanner must have a "
8493
                  "scan(T&, Context&) const member function.");
8494
    static_assert(
8495
        std::is_same_v<mp_eval_or<void, dt_scanner_scan, Scanner, T, Ctx>,
8496
                       scan_expected<typename Ctx::iterator>>,
8497
        "scn::scanner::scan(T&, Context&) must return "
8498
        "scan_expected<Context::iterator>.");
8499
8500
    auto s = Scanner{};
8501
    auto it = s.parse(parse_ctx);
8502
8503
    if constexpr (scanner_has_format_specs_member_v<Scanner>) {
8504
        auto& specs = s._format_specs();
8505
        if ((specs.type == presentation_type::regex ||
8506
             specs.type == presentation_type::regex_escaped) &&
8507
            !(ranges::range<Source> && ranges::contiguous_range<Source>)) {
8508
            // clang-format off
8509
            parse_ctx.on_error("Cannot read a regex from a non-contiguous source");
8510
            // clang-format on
8511
        }
8512
    }
8513
    return it;
8514
}
8515
8516
template <typename T, typename Source, typename Ctx, typename ParseCtx>
8517
constexpr typename ParseCtx::iterator parse_format_specs(ParseCtx& parse_ctx)
8518
{
8519
    using char_type = typename Ctx::char_type;
8520
    using map_result =
8521
        std::remove_reference_t<decltype(arg_mapper<char_type>().map(
8522
            SCN_DECLVAL(T&)))>;
8523
    if constexpr (std::is_base_of_v<unscannable, map_result>) {
8524
        // Error will be reported by static_assert in make_value(),
8525
        // let's not muddy the compiler error by making more of them.
8526
        return parse_ctx.begin();
8527
    }
8528
    else {
8529
        using mapped_type =
8530
            std::conditional_t<arg_type_constant<T, char_type>::value !=
8531
                                   arg_type::custom_type,
8532
                               map_result, T>;
8533
        using scanner_type = typename Ctx::template scanner_type<mapped_type>;
8534
        return parse_format_specs_impl<scanner_type, Source, T, Ctx, ParseCtx>(
8535
            parse_ctx);
8536
    }
8537
}
8538
8539
template <typename CharT, typename Source, typename... Args>
8540
class format_string_checker {
8541
public:
8542
    using parse_context_type = compile_parse_context<CharT>;
8543
    static constexpr auto num_args = sizeof...(Args);
8544
8545
    explicit constexpr format_string_checker(
8546
        std::basic_string_view<CharT> format_str)
8547
        : m_parse_context(format_str,
8548
                          num_args,
8549
                          m_types,
8550
                          type_identity<Source>{}),
8551
          m_parse_funcs{&parse_format_specs<Args,
8552
                                            Source,
8553
                                            default_context<CharT>,
8554
                                            parse_context_type>...},
8555
          m_types{arg_type_constant<Args, CharT>::value...}
8556
    {
8557
    }
8558
8559
    constexpr void on_literal_text(const CharT* begin, const CharT* end)
8560
    {
8561
        // TODO: Do we want to validate Unicode in format strings?
8562
        // We're dealing with text, so we probably do.
8563
        // We could do codeunit-to-codeunit matching,
8564
        // but that could get messy wrt. whitespace matching.
8565
        // It's simpler to not allow nonsense.
8566
        while (begin != end) {
8567
            const auto len = code_point_length_by_starting_code_unit(*begin);
8568
            if (SCN_UNLIKELY(len == 0 ||
8569
                             static_cast<size_t>(end - begin) < len)) {
8570
                return on_error("Invalid encoding in format string");
8571
            }
8572
8573
            const auto cp = decode_code_point_exhaustive(
8574
                std::basic_string_view<CharT>{begin, len});
8575
            if (SCN_UNLIKELY(cp >= invalid_code_point)) {
8576
                return on_error("Invalid encoding in format string");
8577
            }
8578
8579
            begin += len;
8580
        }
8581
    }
8582
8583
    constexpr auto on_arg_id()
8584
    {
8585
        return m_parse_context.next_arg_id();
8586
    }
8587
    constexpr auto on_arg_id(std::size_t id)
8588
    {
8589
        m_parse_context.check_arg_id(id);
8590
        return id;
8591
    }
8592
8593
    constexpr void on_replacement_field(size_t id, const CharT*)
8594
    {
8595
        m_parse_context.check_arg_can_be_read(id);
8596
        set_arg_as_read(id);
8597
8598
        if (m_types[id] == arg_type::narrow_regex_matches_type ||
8599
            m_types[id] == arg_type::wide_regex_matches_type) {
8600
            // clang-format off
8601
            return on_error("Regular expression needs to be specified when reading regex_matches");
8602
            // clang-format on
8603
        }
8604
    }
8605
8606
    constexpr const CharT* on_format_specs(std::size_t id,
8607
                                           const CharT* begin,
8608
                                           const CharT*)
8609
    {
8610
        m_parse_context.check_arg_can_be_read(id);
8611
        set_arg_as_read(id);
8612
        m_parse_context.advance_to(begin);
8613
        return id < num_args ? m_parse_funcs[id](m_parse_context) : begin;
8614
    }
8615
8616
    constexpr void check_args_exhausted()
8617
    {
8618
        if (num_args == 0) {
8619
            return;
8620
        }
8621
        for (auto is_set : m_visited_args) {
8622
            if (!is_set) {
8623
                return on_error("Argument list not exhausted");
8624
            }
8625
        }
8626
    }
8627
8628
    void on_error(const char* msg)
8629
    {
8630
        SCN_UNLIKELY_ATTR
8631
        m_parse_context.on_error(msg);
8632
    }
8633
8634
    // Only to satisfy the concept and eliminate compiler errors,
8635
    // because errors are reported by failing to compile on_error above
8636
    // (it's not constexpr)
8637
    constexpr scan_expected<void> get_error() const
8638
    {
8639
        return {};
8640
    }
8641
8642
private:
8643
    constexpr void set_arg_as_read(size_t id)
8644
    {
8645
        if (id >= num_args) {
8646
            return on_error("Invalid out-of-range argument ID");
8647
        }
8648
        if (m_visited_args[id]) {
8649
            return on_error("Argument with this ID already scanned");
8650
        }
8651
        m_visited_args[id] = true;
8652
    }
8653
8654
    using parse_func = const CharT* (*)(parse_context_type&);
8655
8656
    parse_context_type m_parse_context;
8657
    parse_func m_parse_funcs[num_args > 0 ? num_args : 1];
8658
    arg_type m_types[num_args > 0 ? num_args : 1];
8659
    bool m_visited_args[num_args > 0 ? num_args : 1] = {false};
8660
};
8661
8662
template <typename Source, typename... Args, typename Str>
8663
constexpr auto check_format_string(const Str&)
8664
    -> std::enable_if_t<!is_compile_string_v<Str>>
8665
0
{
8666
    // TODO: SCN_ENFORE_COMPILE_STRING?
8667
#if 0  // SCN_ENFORE_COMPILE_STRING
8668
    static_assert(dependent_false<Str>::value,
8669
              "SCN_ENFORCE_COMPILE_STRING requires all format "
8670
              "strings to use SCN_STRING.");
8671
#endif
8672
0
}
Unexecuted instantiation: std::__1::enable_if<!(is_compile_string_v<char [9]>), void>::type scn::v4::detail::check_format_string<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, char [9]>(char const (&) [9])
Unexecuted instantiation: std::__1::enable_if<!(is_compile_string_v<char [3]>), void>::type scn::v4::detail::check_format_string<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, double, char [3]>(char const (&) [3])
Unexecuted instantiation: std::__1::enable_if<!(is_compile_string_v<char [19]>), void>::type scn::v4::detail::check_format_string<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, char [19]>(char const (&) [19])
Unexecuted instantiation: std::__1::enable_if<!(is_compile_string_v<char [9]>), void>::type scn::v4::detail::check_format_string<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, char [9]>(char const (&) [9])
Unexecuted instantiation: std::__1::enable_if<!(is_compile_string_v<char [19]>), void>::type scn::v4::detail::check_format_string<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, char [19]>(char const (&) [19])
Unexecuted instantiation: std::__1::enable_if<!(is_compile_string_v<wchar_t [9]>), void>::type scn::v4::detail::check_format_string<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, wchar_t [9]>(wchar_t const (&) [9])
Unexecuted instantiation: std::__1::enable_if<!(is_compile_string_v<wchar_t [19]>), void>::type scn::v4::detail::check_format_string<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, wchar_t [19]>(wchar_t const (&) [19])
Unexecuted instantiation: std::__1::enable_if<!(is_compile_string_v<wchar_t [9]>), void>::type scn::v4::detail::check_format_string<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, wchar_t [9]>(wchar_t const (&) [9])
Unexecuted instantiation: std::__1::enable_if<!(is_compile_string_v<wchar_t [19]>), void>::type scn::v4::detail::check_format_string<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, wchar_t [19]>(wchar_t const (&) [19])
8673
8674
template <typename Source, typename... Args, typename Str>
8675
constexpr auto check_format_string(Str format_str)
8676
    -> std::enable_if_t<is_compile_string_v<Str>>
8677
{
8678
    using char_type = typename Str::char_type;
8679
8680
    SCN_GCC_PUSH
8681
    SCN_GCC_IGNORE("-Wconversion")
8682
    constexpr auto s = std::basic_string_view<char_type>{format_str};
8683
    SCN_GCC_POP
8684
8685
    using checker = format_string_checker<char_type, Source, Args...>;
8686
    constexpr bool invalid_format =
8687
        (parse_format_string<true>(s, checker(s)), true);
8688
    SCN_UNUSED(invalid_format);
8689
}
8690
8691
template <typename CharT, std::size_t N>
8692
constexpr std::basic_string_view<CharT> compile_string_to_view(
8693
    const CharT (&s)[N])
8694
{
8695
    return {s, N - 1};
8696
}
8697
template <typename CharT>
8698
constexpr std::basic_string_view<CharT> compile_string_to_view(
8699
    std::basic_string_view<CharT> s)
8700
{
8701
    return s;
8702
}
8703
}  // namespace detail
8704
8705
#define SCN_STRING_IMPL(s, base, expl)                                       \
8706
    [] {                                                                     \
8707
        struct SCN_COMPILE_STRING : base {                                   \
8708
            using char_type = ::scn::detail::remove_cvref_t<decltype(s[0])>; \
8709
            SCN_MAYBE_UNUSED constexpr expl                                  \
8710
            operator ::std::basic_string_view<char_type>() const             \
8711
            {                                                                \
8712
                return ::scn::detail::compile_string_to_view<char_type>(s);  \
8713
            }                                                                \
8714
        };                                                                   \
8715
        return SCN_COMPILE_STRING{};                                         \
8716
    }()
8717
8718
#define SCN_STRING(s) SCN_STRING_IMPL(s, ::scn::detail::compile_string, )
8719
8720
/**
8721
 * Compile-time format string
8722
 *
8723
 * \ingroup format-string
8724
 */
8725
template <typename CharT, typename Source, typename... Args>
8726
class basic_scan_format_string {
8727
public:
8728
    SCN_CLANG_PUSH
8729
#if SCN_CLANG >= SCN_COMPILER(10, 0, 0)
8730
    SCN_CLANG_IGNORE("-Wc++20-compat")  // false positive about consteval
8731
#endif
8732
    template <
8733
        typename S,
8734
        std::enable_if_t<
8735
            std::is_convertible_v<const S&, std::basic_string_view<CharT>> &&
8736
            detail::is_not_self<S, basic_scan_format_string>>* = nullptr>
8737
0
    SCN_CONSTEVAL basic_scan_format_string(const S& s) : m_str(s)
8738
0
    {
8739
#if SCN_HAS_CONSTEVAL
8740
        using checker = detail::format_string_checker<CharT, Source, Args...>;
8741
        const auto e = detail::parse_format_string<true>(m_str, checker(s));
8742
        SCN_UNUSED(e);
8743
#else
8744
0
        detail::check_format_string<Source, Args...>(s);
8745
0
#endif
8746
0
    }
Unexecuted instantiation: _ZN3scn2v424basic_scan_format_stringIcNS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS2_18default_sentinel_tEEEJNSt3__112basic_stringIcNSC_11char_traitsIcEENSC_9allocatorIcEEEEEEC2IA9_cTnPNSC_9enable_ifIXaasr3stdE16is_convertible_vIRKT_NSC_17basic_string_viewIcSF_EEEsr6detailE11is_not_selfISN_SJ_EEvE4typeELPv0EEESP_
Unexecuted instantiation: _ZN3scn2v424basic_scan_format_stringIcRNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEJdEEC2IA3_cTnPNS2_9enable_ifIXaasr3stdE16is_convertible_vIRKT_NS2_17basic_string_viewIcS5_EEEsr6detailE11is_not_selfISE_SA_EEvE4typeELPv0EEESG_
Unexecuted instantiation: _ZN3scn2v424basic_scan_format_stringIcNS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS2_18default_sentinel_tEEEJNSt3__112basic_stringIcNSC_11char_traitsIcEENSC_9allocatorIcEEEEEEC2IA19_cTnPNSC_9enable_ifIXaasr3stdE16is_convertible_vIRKT_NSC_17basic_string_viewIcSF_EEEsr6detailE11is_not_selfISN_SJ_EEvE4typeELPv0EEESP_
Unexecuted instantiation: _ZN3scn2v424basic_scan_format_stringIcNS0_6ranges6detail9subrange_8subrangeIPKcS7_EEJNSt3__112basic_stringIcNS9_11char_traitsIcEENS9_9allocatorIcEEEEEEC2IA9_cTnPNS9_9enable_ifIXaasr3stdE16is_convertible_vIRKT_NS9_17basic_string_viewIcSC_EEEsr6detailE11is_not_selfISK_SG_EEvE4typeELPv0EEESM_
Unexecuted instantiation: _ZN3scn2v424basic_scan_format_stringIcNS0_6ranges6detail9subrange_8subrangeIPKcS7_EEJNSt3__112basic_stringIcNS9_11char_traitsIcEENS9_9allocatorIcEEEEEEC2IA19_cTnPNS9_9enable_ifIXaasr3stdE16is_convertible_vIRKT_NS9_17basic_string_viewIcSC_EEEsr6detailE11is_not_selfISK_SG_EEvE4typeELPv0EEESM_
Unexecuted instantiation: _ZN3scn2v424basic_scan_format_stringIwNS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS2_18default_sentinel_tEEEJNSt3__112basic_stringIcNSC_11char_traitsIcEENSC_9allocatorIcEEEEEEC2IA9_wTnPNSC_9enable_ifIXaasr3stdE16is_convertible_vIRKT_NSC_17basic_string_viewIwNSE_IwEEEEEsr6detailE11is_not_selfISN_SJ_EEvE4typeELPv0EEESP_
Unexecuted instantiation: _ZN3scn2v424basic_scan_format_stringIwNS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS2_18default_sentinel_tEEEJNSt3__112basic_stringIcNSC_11char_traitsIcEENSC_9allocatorIcEEEEEEC2IA19_wTnPNSC_9enable_ifIXaasr3stdE16is_convertible_vIRKT_NSC_17basic_string_viewIwNSE_IwEEEEEsr6detailE11is_not_selfISN_SJ_EEvE4typeELPv0EEESP_
Unexecuted instantiation: _ZN3scn2v424basic_scan_format_stringIwNS0_6ranges6detail9subrange_8subrangeIPKwS7_EEJNSt3__112basic_stringIcNS9_11char_traitsIcEENS9_9allocatorIcEEEEEEC2IA9_wTnPNS9_9enable_ifIXaasr3stdE16is_convertible_vIRKT_NS9_17basic_string_viewIwNSB_IwEEEEEsr6detailE11is_not_selfISK_SG_EEvE4typeELPv0EEESM_
Unexecuted instantiation: _ZN3scn2v424basic_scan_format_stringIwNS0_6ranges6detail9subrange_8subrangeIPKwS7_EEJNSt3__112basic_stringIcNS9_11char_traitsIcEENS9_9allocatorIcEEEEEEC2IA19_wTnPNS9_9enable_ifIXaasr3stdE16is_convertible_vIRKT_NS9_17basic_string_viewIwNSB_IwEEEEEsr6detailE11is_not_selfISK_SG_EEvE4typeELPv0EEESM_
8747
    SCN_CLANG_POP
8748
8749
    template <
8750
        typename OtherSource,
8751
        std::enable_if_t<std::is_same_v<detail::remove_cvref_t<Source>,
8752
                                        detail::remove_cvref_t<OtherSource>> &&
8753
                         ranges::borrowed_range<Source> ==
8754
                             ranges::borrowed_range<OtherSource>>* = nullptr>
8755
    constexpr basic_scan_format_string(
8756
        const basic_scan_format_string<CharT, OtherSource, Args...>& other)
8757
        : m_str(other.get())
8758
    {
8759
    }
8760
8761
    basic_scan_format_string(detail::basic_runtime_format_string<CharT> r)
8762
151k
        : m_str(r.str)
8763
151k
    {
8764
151k
    }
scn::v4::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, char>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<char>)
Line
Count
Source
8762
5.62k
        : m_str(r.str)
8763
5.62k
    {
8764
5.62k
    }
scn::v4::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, int>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<char>)
Line
Count
Source
8762
5.62k
        : m_str(r.str)
8763
5.62k
    {
8764
5.62k
    }
scn::v4::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, unsigned int>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<char>)
Line
Count
Source
8762
5.62k
        : m_str(r.str)
8763
5.62k
    {
8764
5.62k
    }
scn::v4::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, double>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<char>)
Line
Count
Source
8762
5.62k
        : m_str(r.str)
8763
5.62k
    {
8764
5.62k
    }
scn::v4::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, bool>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<char>)
Line
Count
Source
8762
5.62k
        : m_str(r.str)
8763
5.62k
    {
8764
5.62k
    }
scn::v4::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, void*>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<char>)
Line
Count
Source
8762
5.62k
        : m_str(r.str)
8763
5.62k
    {
8764
5.62k
    }
scn::v4::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<char>)
Line
Count
Source
8762
5.62k
        : m_str(r.str)
8763
5.62k
    {
8764
5.62k
    }
scn::v4::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<char>)
Line
Count
Source
8762
5.62k
        : m_str(r.str)
8763
5.62k
    {
8764
5.62k
    }
scn::v4::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, std::__1::basic_string_view<char, std::__1::char_traits<char> > >::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<char>)
Line
Count
Source
8762
5.62k
        : m_str(r.str)
8763
5.62k
    {
8764
5.62k
    }
scn::v4::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, wchar_t>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
8762
11.2k
        : m_str(r.str)
8763
11.2k
    {
8764
11.2k
    }
scn::v4::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, int>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
8762
11.2k
        : m_str(r.str)
8763
11.2k
    {
8764
11.2k
    }
scn::v4::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, unsigned int>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
8762
11.2k
        : m_str(r.str)
8763
11.2k
    {
8764
11.2k
    }
scn::v4::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, double>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
8762
11.2k
        : m_str(r.str)
8763
11.2k
    {
8764
11.2k
    }
scn::v4::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, bool>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
8762
11.2k
        : m_str(r.str)
8763
11.2k
    {
8764
11.2k
    }
scn::v4::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, void*>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
8762
11.2k
        : m_str(r.str)
8763
11.2k
    {
8764
11.2k
    }
scn::v4::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
8762
11.2k
        : m_str(r.str)
8763
11.2k
    {
8764
11.2k
    }
scn::v4::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
8762
11.2k
        : m_str(r.str)
8763
11.2k
    {
8764
11.2k
    }
scn::v4::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
8762
11.2k
        : m_str(r.str)
8763
11.2k
    {
8764
11.2k
    }
8765
8766
    constexpr operator std::basic_string_view<CharT>() const
8767
151k
    {
8768
151k
        return m_str;
8769
151k
    }
scn::v4::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, char>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
8767
5.62k
    {
8768
5.62k
        return m_str;
8769
5.62k
    }
scn::v4::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, int>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
8767
5.62k
    {
8768
5.62k
        return m_str;
8769
5.62k
    }
scn::v4::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, unsigned int>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
8767
5.62k
    {
8768
5.62k
        return m_str;
8769
5.62k
    }
scn::v4::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, double>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
8767
5.62k
    {
8768
5.62k
        return m_str;
8769
5.62k
    }
scn::v4::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, bool>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
8767
5.62k
    {
8768
5.62k
        return m_str;
8769
5.62k
    }
scn::v4::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, void*>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
8767
5.62k
    {
8768
5.62k
        return m_str;
8769
5.62k
    }
scn::v4::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
8767
5.62k
    {
8768
5.62k
        return m_str;
8769
5.62k
    }
scn::v4::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
8767
5.62k
    {
8768
5.62k
        return m_str;
8769
5.62k
    }
scn::v4::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, std::__1::basic_string_view<char, std::__1::char_traits<char> > >::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
8767
5.62k
    {
8768
5.62k
        return m_str;
8769
5.62k
    }
scn::v4::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, wchar_t>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
8767
11.2k
    {
8768
11.2k
        return m_str;
8769
11.2k
    }
scn::v4::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, int>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
8767
11.2k
    {
8768
11.2k
        return m_str;
8769
11.2k
    }
scn::v4::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, unsigned int>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
8767
11.2k
    {
8768
11.2k
        return m_str;
8769
11.2k
    }
scn::v4::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, double>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
8767
11.2k
    {
8768
11.2k
        return m_str;
8769
11.2k
    }
scn::v4::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, bool>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
8767
11.2k
    {
8768
11.2k
        return m_str;
8769
11.2k
    }
scn::v4::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, void*>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
8767
11.2k
    {
8768
11.2k
        return m_str;
8769
11.2k
    }
scn::v4::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
8767
11.2k
    {
8768
11.2k
        return m_str;
8769
11.2k
    }
scn::v4::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
8767
11.2k
    {
8768
11.2k
        return m_str;
8769
11.2k
    }
scn::v4::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
8767
11.2k
    {
8768
11.2k
        return m_str;
8769
11.2k
    }
Unexecuted instantiation: scn::v4::basic_scan_format_string<char, scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Unexecuted instantiation: scn::v4::basic_scan_format_string<char, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, double>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Unexecuted instantiation: scn::v4::basic_scan_format_string<char, scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Unexecuted instantiation: scn::v4::basic_scan_format_string<wchar_t, scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Unexecuted instantiation: scn::v4::basic_scan_format_string<wchar_t, scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
8770
    constexpr std::basic_string_view<CharT> get() const
8771
    {
8772
        return m_str;
8773
    }
8774
8775
private:
8776
    std::basic_string_view<CharT> m_str;
8777
};
8778
8779
namespace detail {
8780
class locale_ref {
8781
#if !SCN_DISABLE_LOCALE
8782
public:
8783
82.7k
    constexpr locale_ref() = default;
8784
8785
    template <typename Locale>
8786
    explicit locale_ref(const Locale& loc);
8787
8788
    constexpr explicit operator bool() const noexcept
8789
0
    {
8790
0
        return m_locale != nullptr;
8791
0
    }
8792
8793
    template <typename Locale>
8794
    Locale get() const;
8795
8796
private:
8797
    const void* m_locale{nullptr};
8798
#else
8799
public:
8800
    constexpr locale_ref() = default;
8801
8802
    template <typename T>
8803
    constexpr explicit locale_ref(T&&)
8804
    {
8805
    }
8806
8807
    constexpr explicit operator bool() const noexcept
8808
    {
8809
        return true;
8810
    }
8811
#endif
8812
};
8813
}  // namespace detail
8814
8815
/////////////////////////////////////////////////////////////////
8816
// scan_context
8817
/////////////////////////////////////////////////////////////////
8818
8819
namespace detail {
8820
template <typename I>
8821
using apply_cmp_with_nullptr = decltype(SCN_DECLVAL(const I&) == nullptr);
8822
template <typename I>
8823
inline constexpr bool is_comparable_with_nullptr =
8824
    mp_valid_v<apply_cmp_with_nullptr, I>;
8825
8826
template <typename Args>
8827
class scan_context_base {
8828
public:
8829
    /// Get argument at index `id`
8830
    constexpr auto arg(size_t id) const noexcept
8831
49.3k
    {
8832
49.3k
        return m_args.get(id);
8833
49.3k
    }
scn::v4::detail::scan_context_base<scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >::arg(unsigned long) const
Line
Count
Source
8831
31.4k
    {
8832
31.4k
        return m_args.get(id);
8833
31.4k
    }
scn::v4::detail::scan_context_base<scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >::arg(unsigned long) const
Line
Count
Source
8831
17.9k
    {
8832
17.9k
        return m_args.get(id);
8833
17.9k
    }
8834
8835
    constexpr const Args& args() const
8836
10.3k
    {
8837
10.3k
        return m_args;
8838
10.3k
    }
scn::v4::detail::scan_context_base<scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >::args() const
Line
Count
Source
8836
5.80k
    {
8837
5.80k
        return m_args;
8838
5.80k
    }
scn::v4::detail::scan_context_base<scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >::args() const
Line
Count
Source
8836
4.58k
    {
8837
4.58k
        return m_args;
8838
4.58k
    }
8839
8840
    SCN_NODISCARD constexpr locale_ref locale() const
8841
43.6k
    {
8842
43.6k
        return m_locale;
8843
43.6k
    }
scn::v4::detail::scan_context_base<scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >::locale() const
Line
Count
Source
8841
28.3k
    {
8842
28.3k
        return m_locale;
8843
28.3k
    }
scn::v4::detail::scan_context_base<scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >::locale() const
Line
Count
Source
8841
15.3k
    {
8842
15.3k
        return m_locale;
8843
15.3k
    }
8844
8845
protected:
8846
    scan_context_base(Args args, locale_ref loc)
8847
151k
        : m_args(SCN_MOVE(args)), m_locale(SCN_MOVE(loc))
8848
151k
    {
8849
151k
    }
scn::v4::detail::scan_context_base<scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >::scan_context_base(scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >, scn::v4::detail::locale_ref)
Line
Count
Source
8847
50.6k
        : m_args(SCN_MOVE(args)), m_locale(SCN_MOVE(loc))
8848
50.6k
    {
8849
50.6k
    }
scn::v4::detail::scan_context_base<scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >::scan_context_base(scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >, scn::v4::detail::locale_ref)
Line
Count
Source
8847
101k
        : m_args(SCN_MOVE(args)), m_locale(SCN_MOVE(loc))
8848
101k
    {
8849
101k
    }
8850
8851
    Args m_args;
8852
    locale_ref m_locale;
8853
};
8854
}  // namespace detail
8855
8856
/**
8857
 * \defgroup ctx Contexts and scanners
8858
 *
8859
 * \brief Lower-level APIs used for scanning individual values
8860
 *
8861
 * \section user-defined Scanning user-defined types
8862
 *
8863
 * User-defined types can be scanned by specializing the class template
8864
 * `scn::scanner`.
8865
 *
8866
 * \code{.cpp}
8867
 * struct mytype {
8868
 *   int key;
8869
 *   std::string value;
8870
 * };
8871
 *
8872
 * template <>
8873
 * struct scn::scanner<mytype> {
8874
 *   template <typename ParseContext>
8875
 *   constexpr auto parse(ParseCtx& pctx)
8876
 *     -> typename ParseContext::iterator {
8877
 *     // parse() implementation just returning begin():
8878
 *     // only permits empty format specifiers
8879
 *     return pctx.begin();
8880
 *   }
8881
 *
8882
 *   template <typename Context>
8883
 *   auto scan(mytype& val, Context& ctx)
8884
 *     -> scan_expected<typename Context::iterator> {
8885
 *     return scn::scan<int, std::string>(ctx.range(), "{}: {}")
8886
 *       .transform([&](auto result) {
8887
 *         std::tie(val.key, val.value) = std::move(result->values());
8888
 *         return result.begin();
8889
 *       });
8890
 *   }
8891
 * };
8892
 * \endcode
8893
 *
8894
 * See also
8895
 * \ref g-usertypes
8896
 */
8897
8898
/**
8899
 * Scanning context.
8900
 *
8901
 * \ingroup ctx
8902
 */
8903
template <typename Range, typename CharT>
8904
class basic_scan_context
8905
    : public detail::scan_context_base<
8906
          basic_scan_args<basic_scan_context<Range, CharT>>> {
8907
    using base = detail::scan_context_base<basic_scan_args<basic_scan_context>>;
8908
8909
    using args_type = basic_scan_args<basic_scan_context>;
8910
    using arg_type = basic_scan_arg<basic_scan_context>;
8911
8912
public:
8913
    /// Character type of the input
8914
    using char_type = CharT;
8915
    using range_type = std::conditional_t<
8916
        std::is_same_v<Range, detail::buffer_range_tag>,
8917
        typename detail::basic_scan_buffer<char_type>::range_type,
8918
        Range>;
8919
    using iterator = ranges::iterator_t<range_type>;
8920
    using sentinel = ranges::sentinel_t<range_type>;
8921
    using parse_context_type = basic_scan_parse_context<char_type>;
8922
8923
    /**
8924
     * The scanner type associated with this scanning context.
8925
     */
8926
    template <typename T>
8927
    using scanner_type = scanner<T, char_type>;
8928
8929
    constexpr basic_scan_context(iterator curr,
8930
                                 args_type a,
8931
                                 detail::locale_ref loc = {})
8932
0
        : base(SCN_MOVE(a), loc), m_current(curr)
8933
0
    {
8934
0
    }
Unexecuted instantiation: scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>::basic_scan_context(scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >, scn::v4::detail::locale_ref)
Unexecuted instantiation: scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>::basic_scan_context(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >, scn::v4::detail::locale_ref)
8935
8936
    basic_scan_context(const basic_scan_context&) = delete;
8937
    basic_scan_context& operator=(const basic_scan_context&) = delete;
8938
8939
    basic_scan_context(basic_scan_context&&) = default;
8940
    basic_scan_context& operator=(basic_scan_context&&) = default;
8941
    ~basic_scan_context() = default;
8942
8943
    /**
8944
     * Returns an iterator pointing to the current position in the source
8945
     * range.
8946
     */
8947
    constexpr iterator begin() const
8948
0
    {
8949
0
        return m_current;
8950
0
    }
Unexecuted instantiation: scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>::begin() const
Unexecuted instantiation: scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>::begin() const
8951
8952
    /**
8953
     * Returns a sentinel pointing to the end of the source range.
8954
     */
8955
    constexpr sentinel end() const
8956
0
    {
8957
0
        return ranges::default_sentinel;
8958
0
    }
Unexecuted instantiation: scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>::end() const
Unexecuted instantiation: scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>::end() const
8959
8960
    /**
8961
     * Returns a subrange over `[begin(), end())`
8962
     */
8963
    constexpr auto range() const
8964
0
    {
8965
0
        return ranges::subrange{begin(), end()};
8966
0
    }
Unexecuted instantiation: scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>::range() const
Unexecuted instantiation: scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>::range() const
8967
8968
    /// Advances the beginning of the source range to `it`
8969
    void advance_to(iterator it)
8970
0
    {
8971
0
        m_current = SCN_MOVE(it);
8972
0
    }
Unexecuted instantiation: scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>::advance_to(scn::v4::detail::basic_scan_buffer<char>::forward_iterator)
Unexecuted instantiation: scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>::advance_to(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator)
8973
8974
private:
8975
    iterator m_current;
8976
};
8977
8978
namespace detail {
8979
template <typename T, typename ParseCtx>
8980
constexpr typename ParseCtx::iterator scanner_parse_for_builtin_type(
8981
    ParseCtx& pctx,
8982
    format_specs& specs);
8983
8984
template <typename T, typename Context>
8985
scan_expected<typename Context::iterator>
8986
scanner_scan_for_builtin_type(T& val, Context& ctx, const format_specs& specs);
8987
}  // namespace detail
8988
8989
/////////////////////////////////////////////////////////////////
8990
// scanner
8991
/////////////////////////////////////////////////////////////////
8992
8993
/**
8994
 * `scanner` specialization for all built-in types
8995
 *
8996
 * \ingroup ctx
8997
 */
8998
template <typename T, typename CharT>
8999
struct scanner<T,
9000
               CharT,
9001
               std::enable_if_t<detail::arg_type_constant<T, CharT>::value !=
9002
                                    detail::arg_type::custom_type &&
9003
                                !detail::is_type_disabled<T>>> {
9004
    template <typename ParseCtx>
9005
    constexpr auto parse(ParseCtx& pctx) -> typename ParseCtx::iterator
9006
    {
9007
        return detail::scanner_parse_for_builtin_type<T>(pctx, m_specs);
9008
    }
9009
9010
    template <typename Context>
9011
    scan_expected<typename Context::iterator> scan(T& val, Context& ctx) const
9012
    {
9013
        return detail::scanner_scan_for_builtin_type(val, ctx, m_specs);
9014
    }
9015
9016
    constexpr auto& _format_specs()
9017
    {
9018
        return m_specs;
9019
    }
9020
9021
private:
9022
    detail::format_specs m_specs;
9023
};
9024
9025
namespace detail {
9026
template <typename T, typename ParseCtx>
9027
constexpr typename ParseCtx::iterator scanner_parse_for_builtin_type(
9028
    ParseCtx& pctx,
9029
    format_specs& specs)
9030
{
9031
    using char_type = typename ParseCtx::char_type;
9032
9033
    auto begin = pctx.begin();
9034
    const auto end = pctx.end();
9035
    if (begin == end) {
9036
        return begin;
9037
    }
9038
9039
    using handler_type = specs_setter;
9040
    const auto type = arg_type_constant<T, char_type>::value;
9041
    auto checker =
9042
        detail::specs_checker<handler_type>(handler_type(specs), type);
9043
9044
    const auto it =
9045
        detail::parse_format_specs(to_address(begin), to_address(end), checker);
9046
9047
    switch (type) {
9048
        case arg_type::none_type:
9049
            SCN_FALLTHROUGH;
9050
        case arg_type::custom_type:
9051
            SCN_ENSURE(false);
9052
            break;
9053
9054
        case arg_type::bool_type:
9055
            check_bool_type_specs(specs, checker);
9056
            break;
9057
9058
        case arg_type::schar_type:
9059
        case arg_type::short_type:
9060
        case arg_type::int_type:
9061
        case arg_type::long_type:
9062
        case arg_type::llong_type:
9063
        case arg_type::uchar_type:
9064
        case arg_type::ushort_type:
9065
        case arg_type::uint_type:
9066
        case arg_type::ulong_type:
9067
        case arg_type::ullong_type:
9068
            check_int_type_specs(specs, checker);
9069
            break;
9070
9071
        case arg_type::narrow_character_type:
9072
        case arg_type::wide_character_type:
9073
        case arg_type::code_point_type:
9074
            check_char_type_specs(specs, checker);
9075
            break;
9076
9077
        case arg_type::float_type:
9078
        case arg_type::double_type:
9079
        case arg_type::ldouble_type:
9080
            check_float_type_specs(specs, checker);
9081
            break;
9082
9083
        case arg_type::narrow_string_type:
9084
        case arg_type::narrow_string_view_type:
9085
        case arg_type::wide_string_type:
9086
        case arg_type::wide_string_view_type:
9087
            check_string_type_specs(specs, checker);
9088
            break;
9089
9090
        case arg_type::pointer_type:
9091
            check_pointer_type_specs(specs, checker);
9092
            break;
9093
9094
        case arg_type::narrow_regex_matches_type:
9095
        case arg_type::wide_regex_matches_type:
9096
            check_regex_type_specs(specs, checker);
9097
            break;
9098
9099
            SCN_CLANG_PUSH
9100
            SCN_CLANG_IGNORE("-Wcovered-switch-default")
9101
9102
        default:
9103
            SCN_ENSURE(false);
9104
            SCN_UNREACHABLE;
9105
9106
            SCN_CLANG_POP
9107
    }
9108
9109
    return it;
9110
}
9111
}  // namespace detail
9112
9113
/**
9114
 * Type for discarding any scanned value.
9115
 * Example:
9116
 *
9117
 * \code{.cpp}
9118
 * auto r = scn::scan<scn::discard<int>>("42", "{}");
9119
 * // r.has_value() == true
9120
 * // decltype(r->value()) is scn::discard<int>
9121
 * \endcode
9122
 *
9123
 * \ingroup format-string
9124
 */
9125
template <typename T>
9126
struct discard {
9127
    constexpr discard() = default;
9128
9129
    constexpr discard(const T&) noexcept {}
9130
    constexpr discard(T&&) noexcept {}
9131
9132
    constexpr discard& operator=(const T&) noexcept
9133
    {
9134
        return *this;
9135
    }
9136
    constexpr discard& operator=(T&&) noexcept
9137
    {
9138
        return *this;
9139
    }
9140
};
9141
9142
template <typename T, typename CharT>
9143
struct scanner<discard<T>, CharT> : public scanner<T, CharT> {
9144
    template <typename Context>
9145
    auto scan(discard<T>&, Context& ctx) const
9146
    {
9147
        T val{};
9148
        return scanner<T, CharT>::scan(val, ctx);
9149
    }
9150
};
9151
9152
namespace detail {
9153
template <typename Range>
9154
scan_expected<ranges::iterator_t<Range>> internal_skip_classic_whitespace(
9155
    Range r,
9156
    bool allow_exhaustion);
9157
9158
#define SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(T, Context) \
9159
    extern template scan_expected<Context::iterator>         \
9160
    scanner_scan_for_builtin_type(T&, Context&, const format_specs&);
9161
9162
#define SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_CTX(Context)                   \
9163
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(char, Context)                \
9164
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(wchar_t, Context)             \
9165
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(signed char, Context)         \
9166
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(signed char, Context)         \
9167
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(short, Context)               \
9168
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(int, Context)                 \
9169
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(long, Context)                \
9170
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(long long, Context)           \
9171
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(unsigned char, Context)       \
9172
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(unsigned short, Context)      \
9173
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(unsigned int, Context)        \
9174
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(unsigned long, Context)       \
9175
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(unsigned long long, Context)  \
9176
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(float, Context)               \
9177
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(double, Context)              \
9178
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(long double, Context)         \
9179
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(std::string, Context)         \
9180
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(std::wstring, Context)        \
9181
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(                              \
9182
        std::basic_string_view<Context::char_type>, Context)               \
9183
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(regex_matches, Context)       \
9184
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(wregex_matches, Context)      \
9185
    extern template scan_expected<ranges::iterator_t<Context::range_type>> \
9186
    internal_skip_classic_whitespace(Context::range_type, bool);
9187
9188
SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_CTX(scan_context)
9189
9190
}  // namespace detail
9191
9192
/////////////////////////////////////////////////////////////////
9193
// visit_scan_arg
9194
/////////////////////////////////////////////////////////////////
9195
9196
namespace detail {
9197
9198
template <typename Visitor, typename Ctx>
9199
constexpr decltype(auto) visit_impl(Visitor&& vis, basic_scan_arg<Ctx>& arg)
9200
43.1k
{
9201
43.1k
#define SCN_VISIT(Type)                                                \
9202
476k
    if constexpr (!detail::is_type_disabled<Type>) {                   \
9203
476k
        return vis(*static_cast<Type*>(get_arg_value(arg).ref_value)); \
9204
476k
    }                                                                  \
9205
476k
    else {                                                             \
9206
476k
        return vis(monostate_val);                                     \
9207
476k
    }
9208
9209
43.1k
    monostate monostate_val{};
9210
9211
43.1k
    switch (get_arg_type(arg)) {
9212
0
        case detail::arg_type::schar_type:
9213
0
            SCN_VISIT(signed char);
9214
0
        case detail::arg_type::short_type:
9215
0
            SCN_VISIT(short);
9216
4.85k
        case detail::arg_type::int_type:
9217
4.85k
            SCN_VISIT(int);
9218
4.85k
        case detail::arg_type::long_type:
9219
4.85k
            SCN_VISIT(long);
9220
4.85k
        case detail::arg_type::llong_type:
9221
4.85k
            SCN_VISIT(long long);
9222
4.85k
        case detail::arg_type::uchar_type:
9223
4.85k
            SCN_VISIT(unsigned char);
9224
4.85k
        case detail::arg_type::ushort_type:
9225
4.85k
            SCN_VISIT(unsigned short);
9226
9.70k
        case detail::arg_type::uint_type:
9227
9.70k
            SCN_VISIT(unsigned);
9228
9.70k
        case detail::arg_type::ulong_type:
9229
9.70k
            SCN_VISIT(unsigned long);
9230
9.70k
        case detail::arg_type::ullong_type:
9231
9.70k
            SCN_VISIT(unsigned long long);
9232
14.4k
        case detail::arg_type::pointer_type:
9233
14.4k
            SCN_VISIT(void*);
9234
19.3k
        case detail::arg_type::bool_type:
9235
19.3k
            SCN_VISIT(bool);
9236
22.4k
        case detail::arg_type::narrow_character_type:
9237
22.4k
            SCN_VISIT(char);
9238
24.0k
        case detail::arg_type::wide_character_type:
9239
24.0k
            SCN_VISIT(wchar_t);
9240
24.0k
        case detail::arg_type::code_point_type:
9241
24.0k
            SCN_VISIT(char32_t);
9242
24.0k
        case detail::arg_type::float_type:
9243
24.0k
            SCN_VISIT(float);
9244
28.9k
        case detail::arg_type::double_type:
9245
28.9k
            SCN_VISIT(double);
9246
28.9k
        case detail::arg_type::ldouble_type:
9247
28.9k
            SCN_VISIT(long double);
9248
32.0k
        case detail::arg_type::narrow_string_view_type:
9249
32.0k
            SCN_VISIT(std::string_view);
9250
36.7k
        case detail::arg_type::narrow_string_type:
9251
36.7k
            SCN_VISIT(std::string);
9252
38.4k
        case detail::arg_type::wide_string_view_type:
9253
38.4k
            SCN_VISIT(std::wstring_view);
9254
43.1k
        case detail::arg_type::wide_string_type:
9255
43.1k
            SCN_VISIT(std::wstring);
9256
43.1k
        case detail::arg_type::narrow_regex_matches_type:
9257
43.1k
            SCN_VISIT(regex_matches);
9258
43.1k
        case detail::arg_type::wide_regex_matches_type:
9259
43.1k
            SCN_VISIT(wregex_matches);
9260
9261
43.1k
        case detail::arg_type::custom_type:
9262
43.1k
#if !SCN_DISABLE_TYPE_CUSTOM
9263
43.1k
            return vis(typename basic_scan_arg<Ctx>::handle(
9264
43.1k
                get_arg_value(arg).custom_value));
9265
#else
9266
            return vis(monostate_val);
9267
#endif
9268
9269
0
            SCN_CLANG_PUSH
9270
0
            SCN_CLANG_IGNORE("-Wcovered-switch-default")
9271
9272
0
            SCN_UNLIKELY_ATTR
9273
0
        case detail::arg_type::none_type:
9274
0
        default: {
9275
0
            return vis(monostate_val);
9276
0
        }
9277
9278
43.1k
            SCN_CLANG_POP
9279
43.1k
    }
9280
9281
0
#undef SCN_VISIT
9282
9283
0
    SCN_ENSURE(false);
9284
0
    SCN_UNREACHABLE;
9285
0
}
decltype(auto) scn::v4::detail::visit_impl<scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >(scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >&&, scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&)
Line
Count
Source
9200
5.70k
{
9201
5.70k
#define SCN_VISIT(Type)                                                \
9202
5.70k
    if constexpr (!detail::is_type_disabled<Type>) {                   \
9203
5.70k
        return vis(*static_cast<Type*>(get_arg_value(arg).ref_value)); \
9204
5.70k
    }                                                                  \
9205
5.70k
    else {                                                             \
9206
5.70k
        return vis(monostate_val);                                     \
9207
5.70k
    }
9208
9209
5.70k
    monostate monostate_val{};
9210
9211
5.70k
    switch (get_arg_type(arg)) {
9212
0
        case detail::arg_type::schar_type:
9213
0
            SCN_VISIT(signed char);
9214
0
        case detail::arg_type::short_type:
9215
0
            SCN_VISIT(short);
9216
634
        case detail::arg_type::int_type:
9217
634
            SCN_VISIT(int);
9218
634
        case detail::arg_type::long_type:
9219
634
            SCN_VISIT(long);
9220
634
        case detail::arg_type::llong_type:
9221
634
            SCN_VISIT(long long);
9222
634
        case detail::arg_type::uchar_type:
9223
634
            SCN_VISIT(unsigned char);
9224
634
        case detail::arg_type::ushort_type:
9225
634
            SCN_VISIT(unsigned short);
9226
1.26k
        case detail::arg_type::uint_type:
9227
1.26k
            SCN_VISIT(unsigned);
9228
1.26k
        case detail::arg_type::ulong_type:
9229
1.26k
            SCN_VISIT(unsigned long);
9230
1.26k
        case detail::arg_type::ullong_type:
9231
1.26k
            SCN_VISIT(unsigned long long);
9232
1.90k
        case detail::arg_type::pointer_type:
9233
1.90k
            SCN_VISIT(void*);
9234
2.53k
        case detail::arg_type::bool_type:
9235
2.53k
            SCN_VISIT(bool);
9236
3.17k
        case detail::arg_type::narrow_character_type:
9237
3.17k
            SCN_VISIT(char);
9238
3.17k
        case detail::arg_type::wide_character_type:
9239
3.17k
            SCN_VISIT(wchar_t);
9240
3.17k
        case detail::arg_type::code_point_type:
9241
3.17k
            SCN_VISIT(char32_t);
9242
3.17k
        case detail::arg_type::float_type:
9243
3.17k
            SCN_VISIT(float);
9244
3.80k
        case detail::arg_type::double_type:
9245
3.80k
            SCN_VISIT(double);
9246
3.80k
        case detail::arg_type::ldouble_type:
9247
3.80k
            SCN_VISIT(long double);
9248
4.43k
        case detail::arg_type::narrow_string_view_type:
9249
4.43k
            SCN_VISIT(std::string_view);
9250
5.07k
        case detail::arg_type::narrow_string_type:
9251
5.07k
            SCN_VISIT(std::string);
9252
5.07k
        case detail::arg_type::wide_string_view_type:
9253
5.07k
            SCN_VISIT(std::wstring_view);
9254
5.70k
        case detail::arg_type::wide_string_type:
9255
5.70k
            SCN_VISIT(std::wstring);
9256
5.70k
        case detail::arg_type::narrow_regex_matches_type:
9257
5.70k
            SCN_VISIT(regex_matches);
9258
5.70k
        case detail::arg_type::wide_regex_matches_type:
9259
5.70k
            SCN_VISIT(wregex_matches);
9260
9261
5.70k
        case detail::arg_type::custom_type:
9262
5.70k
#if !SCN_DISABLE_TYPE_CUSTOM
9263
5.70k
            return vis(typename basic_scan_arg<Ctx>::handle(
9264
5.70k
                get_arg_value(arg).custom_value));
9265
#else
9266
            return vis(monostate_val);
9267
#endif
9268
9269
0
            SCN_CLANG_PUSH
9270
0
            SCN_CLANG_IGNORE("-Wcovered-switch-default")
9271
9272
0
            SCN_UNLIKELY_ATTR
9273
0
        case detail::arg_type::none_type:
9274
0
        default: {
9275
0
            return vis(monostate_val);
9276
0
        }
9277
9278
5.70k
            SCN_CLANG_POP
9279
5.70k
    }
9280
9281
0
#undef SCN_VISIT
9282
9283
0
    SCN_ENSURE(false);
9284
0
    SCN_UNREACHABLE;
9285
0
}
Unexecuted instantiation: decltype(auto) scn::v4::detail::visit_impl<scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >(scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&&, scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&)
Unexecuted instantiation: decltype(auto) scn::v4::detail::visit_impl<scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >(scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&&, scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&)
decltype(auto) scn::v4::detail::visit_impl<scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >(scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >&&, scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&)
Line
Count
Source
9200
22.4k
{
9201
22.4k
#define SCN_VISIT(Type)                                                \
9202
22.4k
    if constexpr (!detail::is_type_disabled<Type>) {                   \
9203
22.4k
        return vis(*static_cast<Type*>(get_arg_value(arg).ref_value)); \
9204
22.4k
    }                                                                  \
9205
22.4k
    else {                                                             \
9206
22.4k
        return vis(monostate_val);                                     \
9207
22.4k
    }
9208
9209
22.4k
    monostate monostate_val{};
9210
9211
22.4k
    switch (get_arg_type(arg)) {
9212
0
        case detail::arg_type::schar_type:
9213
0
            SCN_VISIT(signed char);
9214
0
        case detail::arg_type::short_type:
9215
0
            SCN_VISIT(short);
9216
2.51k
        case detail::arg_type::int_type:
9217
2.51k
            SCN_VISIT(int);
9218
2.51k
        case detail::arg_type::long_type:
9219
2.51k
            SCN_VISIT(long);
9220
2.51k
        case detail::arg_type::llong_type:
9221
2.51k
            SCN_VISIT(long long);
9222
2.51k
        case detail::arg_type::uchar_type:
9223
2.51k
            SCN_VISIT(unsigned char);
9224
2.51k
        case detail::arg_type::ushort_type:
9225
2.51k
            SCN_VISIT(unsigned short);
9226
5.02k
        case detail::arg_type::uint_type:
9227
5.02k
            SCN_VISIT(unsigned);
9228
5.02k
        case detail::arg_type::ulong_type:
9229
5.02k
            SCN_VISIT(unsigned long);
9230
5.02k
        case detail::arg_type::ullong_type:
9231
5.02k
            SCN_VISIT(unsigned long long);
9232
7.49k
        case detail::arg_type::pointer_type:
9233
7.49k
            SCN_VISIT(void*);
9234
10.0k
        case detail::arg_type::bool_type:
9235
10.0k
            SCN_VISIT(bool);
9236
12.4k
        case detail::arg_type::narrow_character_type:
9237
12.4k
            SCN_VISIT(char);
9238
12.4k
        case detail::arg_type::wide_character_type:
9239
12.4k
            SCN_VISIT(wchar_t);
9240
12.4k
        case detail::arg_type::code_point_type:
9241
12.4k
            SCN_VISIT(char32_t);
9242
12.4k
        case detail::arg_type::float_type:
9243
12.4k
            SCN_VISIT(float);
9244
14.9k
        case detail::arg_type::double_type:
9245
14.9k
            SCN_VISIT(double);
9246
14.9k
        case detail::arg_type::ldouble_type:
9247
14.9k
            SCN_VISIT(long double);
9248
17.4k
        case detail::arg_type::narrow_string_view_type:
9249
17.4k
            SCN_VISIT(std::string_view);
9250
19.9k
        case detail::arg_type::narrow_string_type:
9251
19.9k
            SCN_VISIT(std::string);
9252
19.9k
        case detail::arg_type::wide_string_view_type:
9253
19.9k
            SCN_VISIT(std::wstring_view);
9254
22.4k
        case detail::arg_type::wide_string_type:
9255
22.4k
            SCN_VISIT(std::wstring);
9256
22.4k
        case detail::arg_type::narrow_regex_matches_type:
9257
22.4k
            SCN_VISIT(regex_matches);
9258
22.4k
        case detail::arg_type::wide_regex_matches_type:
9259
22.4k
            SCN_VISIT(wregex_matches);
9260
9261
22.4k
        case detail::arg_type::custom_type:
9262
22.4k
#if !SCN_DISABLE_TYPE_CUSTOM
9263
22.4k
            return vis(typename basic_scan_arg<Ctx>::handle(
9264
22.4k
                get_arg_value(arg).custom_value));
9265
#else
9266
            return vis(monostate_val);
9267
#endif
9268
9269
0
            SCN_CLANG_PUSH
9270
0
            SCN_CLANG_IGNORE("-Wcovered-switch-default")
9271
9272
0
            SCN_UNLIKELY_ATTR
9273
0
        case detail::arg_type::none_type:
9274
0
        default: {
9275
0
            return vis(monostate_val);
9276
0
        }
9277
9278
22.4k
            SCN_CLANG_POP
9279
22.4k
    }
9280
9281
0
#undef SCN_VISIT
9282
9283
0
    SCN_ENSURE(false);
9284
0
    SCN_UNREACHABLE;
9285
0
}
Unexecuted instantiation: decltype(auto) scn::v4::detail::visit_impl<scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >(scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&&, scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&)
decltype(auto) scn::v4::detail::visit_impl<scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >(scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >&&, scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&)
Line
Count
Source
9200
4.46k
{
9201
4.46k
#define SCN_VISIT(Type)                                                \
9202
4.46k
    if constexpr (!detail::is_type_disabled<Type>) {                   \
9203
4.46k
        return vis(*static_cast<Type*>(get_arg_value(arg).ref_value)); \
9204
4.46k
    }                                                                  \
9205
4.46k
    else {                                                             \
9206
4.46k
        return vis(monostate_val);                                     \
9207
4.46k
    }
9208
9209
4.46k
    monostate monostate_val{};
9210
9211
4.46k
    switch (get_arg_type(arg)) {
9212
0
        case detail::arg_type::schar_type:
9213
0
            SCN_VISIT(signed char);
9214
0
        case detail::arg_type::short_type:
9215
0
            SCN_VISIT(short);
9216
496
        case detail::arg_type::int_type:
9217
496
            SCN_VISIT(int);
9218
496
        case detail::arg_type::long_type:
9219
496
            SCN_VISIT(long);
9220
496
        case detail::arg_type::llong_type:
9221
496
            SCN_VISIT(long long);
9222
496
        case detail::arg_type::uchar_type:
9223
496
            SCN_VISIT(unsigned char);
9224
496
        case detail::arg_type::ushort_type:
9225
496
            SCN_VISIT(unsigned short);
9226
992
        case detail::arg_type::uint_type:
9227
992
            SCN_VISIT(unsigned);
9228
992
        case detail::arg_type::ulong_type:
9229
992
            SCN_VISIT(unsigned long);
9230
992
        case detail::arg_type::ullong_type:
9231
992
            SCN_VISIT(unsigned long long);
9232
1.48k
        case detail::arg_type::pointer_type:
9233
1.48k
            SCN_VISIT(void*);
9234
1.98k
        case detail::arg_type::bool_type:
9235
1.98k
            SCN_VISIT(bool);
9236
1.98k
        case detail::arg_type::narrow_character_type:
9237
1.98k
            SCN_VISIT(char);
9238
2.48k
        case detail::arg_type::wide_character_type:
9239
2.48k
            SCN_VISIT(wchar_t);
9240
2.48k
        case detail::arg_type::code_point_type:
9241
2.48k
            SCN_VISIT(char32_t);
9242
2.48k
        case detail::arg_type::float_type:
9243
2.48k
            SCN_VISIT(float);
9244
2.97k
        case detail::arg_type::double_type:
9245
2.97k
            SCN_VISIT(double);
9246
2.97k
        case detail::arg_type::ldouble_type:
9247
2.97k
            SCN_VISIT(long double);
9248
2.97k
        case detail::arg_type::narrow_string_view_type:
9249
2.97k
            SCN_VISIT(std::string_view);
9250
3.47k
        case detail::arg_type::narrow_string_type:
9251
3.47k
            SCN_VISIT(std::string);
9252
3.96k
        case detail::arg_type::wide_string_view_type:
9253
3.96k
            SCN_VISIT(std::wstring_view);
9254
4.46k
        case detail::arg_type::wide_string_type:
9255
4.46k
            SCN_VISIT(std::wstring);
9256
4.46k
        case detail::arg_type::narrow_regex_matches_type:
9257
4.46k
            SCN_VISIT(regex_matches);
9258
4.46k
        case detail::arg_type::wide_regex_matches_type:
9259
4.46k
            SCN_VISIT(wregex_matches);
9260
9261
4.46k
        case detail::arg_type::custom_type:
9262
4.46k
#if !SCN_DISABLE_TYPE_CUSTOM
9263
4.46k
            return vis(typename basic_scan_arg<Ctx>::handle(
9264
4.46k
                get_arg_value(arg).custom_value));
9265
#else
9266
            return vis(monostate_val);
9267
#endif
9268
9269
0
            SCN_CLANG_PUSH
9270
0
            SCN_CLANG_IGNORE("-Wcovered-switch-default")
9271
9272
0
            SCN_UNLIKELY_ATTR
9273
0
        case detail::arg_type::none_type:
9274
0
        default: {
9275
0
            return vis(monostate_val);
9276
0
        }
9277
9278
4.46k
            SCN_CLANG_POP
9279
4.46k
    }
9280
9281
0
#undef SCN_VISIT
9282
9283
0
    SCN_ENSURE(false);
9284
0
    SCN_UNREACHABLE;
9285
0
}
Unexecuted instantiation: decltype(auto) scn::v4::detail::visit_impl<scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >(scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&&, scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&)
decltype(auto) scn::v4::detail::visit_impl<scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >(scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >&&, scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&)
Line
Count
Source
9200
10.6k
{
9201
10.6k
#define SCN_VISIT(Type)                                                \
9202
10.6k
    if constexpr (!detail::is_type_disabled<Type>) {                   \
9203
10.6k
        return vis(*static_cast<Type*>(get_arg_value(arg).ref_value)); \
9204
10.6k
    }                                                                  \
9205
10.6k
    else {                                                             \
9206
10.6k
        return vis(monostate_val);                                     \
9207
10.6k
    }
9208
9209
10.6k
    monostate monostate_val{};
9210
9211
10.6k
    switch (get_arg_type(arg)) {
9212
0
        case detail::arg_type::schar_type:
9213
0
            SCN_VISIT(signed char);
9214
0
        case detail::arg_type::short_type:
9215
0
            SCN_VISIT(short);
9216
1.21k
        case detail::arg_type::int_type:
9217
1.21k
            SCN_VISIT(int);
9218
1.21k
        case detail::arg_type::long_type:
9219
1.21k
            SCN_VISIT(long);
9220
1.21k
        case detail::arg_type::llong_type:
9221
1.21k
            SCN_VISIT(long long);
9222
1.21k
        case detail::arg_type::uchar_type:
9223
1.21k
            SCN_VISIT(unsigned char);
9224
1.21k
        case detail::arg_type::ushort_type:
9225
1.21k
            SCN_VISIT(unsigned short);
9226
2.42k
        case detail::arg_type::uint_type:
9227
2.42k
            SCN_VISIT(unsigned);
9228
2.42k
        case detail::arg_type::ulong_type:
9229
2.42k
            SCN_VISIT(unsigned long);
9230
2.42k
        case detail::arg_type::ullong_type:
9231
2.42k
            SCN_VISIT(unsigned long long);
9232
3.57k
        case detail::arg_type::pointer_type:
9233
3.57k
            SCN_VISIT(void*);
9234
4.79k
        case detail::arg_type::bool_type:
9235
4.79k
            SCN_VISIT(bool);
9236
4.79k
        case detail::arg_type::narrow_character_type:
9237
4.79k
            SCN_VISIT(char);
9238
5.94k
        case detail::arg_type::wide_character_type:
9239
5.94k
            SCN_VISIT(wchar_t);
9240
5.94k
        case detail::arg_type::code_point_type:
9241
5.94k
            SCN_VISIT(char32_t);
9242
5.94k
        case detail::arg_type::float_type:
9243
5.94k
            SCN_VISIT(float);
9244
7.15k
        case detail::arg_type::double_type:
9245
7.15k
            SCN_VISIT(double);
9246
7.15k
        case detail::arg_type::ldouble_type:
9247
7.15k
            SCN_VISIT(long double);
9248
7.15k
        case detail::arg_type::narrow_string_view_type:
9249
7.15k
            SCN_VISIT(std::string_view);
9250
8.31k
        case detail::arg_type::narrow_string_type:
9251
8.31k
            SCN_VISIT(std::string);
9252
9.46k
        case detail::arg_type::wide_string_view_type:
9253
9.46k
            SCN_VISIT(std::wstring_view);
9254
10.6k
        case detail::arg_type::wide_string_type:
9255
10.6k
            SCN_VISIT(std::wstring);
9256
10.6k
        case detail::arg_type::narrow_regex_matches_type:
9257
10.6k
            SCN_VISIT(regex_matches);
9258
10.6k
        case detail::arg_type::wide_regex_matches_type:
9259
10.6k
            SCN_VISIT(wregex_matches);
9260
9261
10.6k
        case detail::arg_type::custom_type:
9262
10.6k
#if !SCN_DISABLE_TYPE_CUSTOM
9263
10.6k
            return vis(typename basic_scan_arg<Ctx>::handle(
9264
10.6k
                get_arg_value(arg).custom_value));
9265
#else
9266
            return vis(monostate_val);
9267
#endif
9268
9269
0
            SCN_CLANG_PUSH
9270
0
            SCN_CLANG_IGNORE("-Wcovered-switch-default")
9271
9272
0
            SCN_UNLIKELY_ATTR
9273
0
        case detail::arg_type::none_type:
9274
0
        default: {
9275
0
            return vis(monostate_val);
9276
0
        }
9277
9278
10.6k
            SCN_CLANG_POP
9279
10.6k
    }
9280
9281
0
#undef SCN_VISIT
9282
9283
0
    SCN_ENSURE(false);
9284
0
    SCN_UNREACHABLE;
9285
0
}
Unexecuted instantiation: decltype(auto) scn::v4::detail::visit_impl<scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >(scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&&, scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&)
Unexecuted instantiation: decltype(auto) scn::v4::detail::visit_impl<scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >(scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&&, scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&)
9286
9287
}  // namespace detail
9288
9289
template <typename Visitor, typename Ctx>
9290
[[deprecated("Use basic_scan_arg::visit instead")]] constexpr decltype(auto)
9291
visit_scan_arg(Visitor&& vis, basic_scan_arg<Ctx>& arg)
9292
{
9293
    return detail::visit_impl(SCN_FWD(vis), arg);
9294
}
9295
9296
template <typename Context>
9297
template <typename Visitor>
9298
constexpr decltype(auto) basic_scan_arg<Context>::visit(Visitor&& vis)
9299
43.1k
{
9300
43.1k
    return detail::visit_impl(SCN_FWD(vis), *this);
9301
43.1k
}
decltype(auto) scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::visit<scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >(scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >&&)
Line
Count
Source
9299
5.70k
{
9300
5.70k
    return detail::visit_impl(SCN_FWD(vis), *this);
9301
5.70k
}
Unexecuted instantiation: decltype(auto) scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::visit<scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >(scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&&)
Unexecuted instantiation: decltype(auto) scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::visit<scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >(scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&&)
decltype(auto) scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::visit<scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >(scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >&&)
Line
Count
Source
9299
22.4k
{
9300
22.4k
    return detail::visit_impl(SCN_FWD(vis), *this);
9301
22.4k
}
Unexecuted instantiation: decltype(auto) scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::visit<scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >(scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&&)
decltype(auto) scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::visit<scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >(scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >&&)
Line
Count
Source
9299
4.46k
{
9300
4.46k
    return detail::visit_impl(SCN_FWD(vis), *this);
9301
4.46k
}
Unexecuted instantiation: decltype(auto) scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::visit<scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >(scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&&)
decltype(auto) scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::visit<scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >(scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >&&)
Line
Count
Source
9299
10.6k
{
9300
10.6k
    return detail::visit_impl(SCN_FWD(vis), *this);
9301
10.6k
}
Unexecuted instantiation: decltype(auto) scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::visit<scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >(scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&&)
Unexecuted instantiation: decltype(auto) scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::visit<scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >(scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&&)
9302
9303
template <typename Context>
9304
template <typename R, typename Visitor>
9305
constexpr R basic_scan_arg<Context>::visit(Visitor&& vis)
9306
{
9307
    return detail::visit_impl(SCN_FWD(vis), *this);
9308
}
9309
9310
/////////////////////////////////////////////////////////////////
9311
// vscan
9312
/////////////////////////////////////////////////////////////////
9313
9314
/**
9315
 * \defgroup vscan Type-erased scanning API
9316
 *
9317
 * \brief Lower-level scanning API with type-erased arguments
9318
 */
9319
9320
namespace detail {
9321
template <typename Source>
9322
using scan_result_value_type =
9323
    std::conditional_t<std::is_same_v<remove_cvref_t<Source>, std::FILE*>,
9324
                       std::FILE*,
9325
                       borrowed_tail_subrange_t<Source>>;
9326
}
9327
9328
/**
9329
 * Result type returned by `vscan`.
9330
 *
9331
 * The value type of the `scan_expected` is `FILE*` if `Source` is `FILE*`,
9332
 * `detail::borrowed_tail_subrange_t<Source>` otherwise.
9333
 *
9334
 * \ingroup vscan
9335
 */
9336
template <typename Source>
9337
using vscan_result = scan_expected<detail::scan_result_value_type<Source>>;
9338
9339
namespace detail {
9340
scan_expected<std::ptrdiff_t> vscan_impl(std::string_view source,
9341
                                         std::string_view format,
9342
                                         scan_args args);
9343
scan_expected<std::ptrdiff_t> vscan_impl(scan_buffer& source,
9344
                                         std::string_view format,
9345
                                         scan_args args);
9346
9347
scan_expected<std::ptrdiff_t> vscan_impl(std::wstring_view source,
9348
                                         std::wstring_view format,
9349
                                         wscan_args args);
9350
scan_expected<std::ptrdiff_t> vscan_impl(wscan_buffer& source,
9351
                                         std::wstring_view format,
9352
                                         wscan_args args);
9353
9354
#if !SCN_DISABLE_LOCALE
9355
template <typename Locale>
9356
scan_expected<std::ptrdiff_t> vscan_localized_impl(const Locale& loc,
9357
                                                   std::string_view source,
9358
                                                   std::string_view format,
9359
                                                   scan_args args);
9360
template <typename Locale>
9361
scan_expected<std::ptrdiff_t> vscan_localized_impl(const Locale& loc,
9362
                                                   scan_buffer& source,
9363
                                                   std::string_view format,
9364
                                                   scan_args args);
9365
9366
template <typename Locale>
9367
scan_expected<std::ptrdiff_t> vscan_localized_impl(const Locale& loc,
9368
                                                   std::wstring_view source,
9369
                                                   std::wstring_view format,
9370
                                                   wscan_args args);
9371
template <typename Locale>
9372
scan_expected<std::ptrdiff_t> vscan_localized_impl(const Locale& loc,
9373
                                                   wscan_buffer& source,
9374
                                                   std::wstring_view format,
9375
                                                   wscan_args args);
9376
#endif
9377
9378
scan_expected<std::ptrdiff_t> vscan_value_impl(
9379
    std::string_view source,
9380
    basic_scan_arg<scan_context> arg);
9381
scan_expected<std::ptrdiff_t> vscan_value_impl(
9382
    scan_buffer& source,
9383
    basic_scan_arg<scan_context> arg);
9384
9385
scan_expected<std::ptrdiff_t> vscan_value_impl(
9386
    std::wstring_view source,
9387
    basic_scan_arg<wscan_context> arg);
9388
scan_expected<std::ptrdiff_t> vscan_value_impl(
9389
    wscan_buffer& source,
9390
    basic_scan_arg<wscan_context> arg);
9391
9392
template <typename Range, typename CharT>
9393
auto vscan_generic(Range&& range,
9394
                   std::basic_string_view<CharT> format,
9395
                   basic_scan_args<detail::default_context<CharT>> args)
9396
    -> vscan_result<Range>
9397
75.9k
{
9398
75.9k
    auto buffer = make_scan_buffer(range);
9399
9400
75.9k
    auto result = vscan_impl(buffer, format, args);
9401
75.9k
    if (SCN_UNLIKELY(!result)) {
9402
73.9k
        return unexpected(result.error());
9403
73.9k
    }
9404
1.97k
    return make_vscan_result_range(SCN_FWD(range), *result);
9405
75.9k
}
_ZN3scn2v46detail13vscan_genericIRNSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEcEENS0_13scan_expectedINS3_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESF_NS1_22borrowed_tail_subrangeISB_Xsr6rangesE14borrowed_rangeISB_EEE4typeEE4typeEEEOSB_NS4_IT0_NS5_ISN_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextINS1_16buffer_range_tagESN_EEEE
Line
Count
Source
9397
25.3k
{
9398
25.3k
    auto buffer = make_scan_buffer(range);
9399
9400
25.3k
    auto result = vscan_impl(buffer, format, args);
9401
25.3k
    if (SCN_UNLIKELY(!result)) {
9402
24.2k
        return unexpected(result.error());
9403
24.2k
    }
9404
1.05k
    return make_vscan_result_range(SCN_FWD(range), *result);
9405
25.3k
}
_ZN3scn2v46detail13vscan_genericIRNSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEwEENS0_13scan_expectedINS3_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESF_NS1_22borrowed_tail_subrangeISB_Xsr6rangesE14borrowed_rangeISB_EEE4typeEE4typeEEEOSB_NS4_IT0_NS5_ISN_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextINS1_16buffer_range_tagESN_EEEE
Line
Count
Source
9397
50.6k
{
9398
50.6k
    auto buffer = make_scan_buffer(range);
9399
9400
50.6k
    auto result = vscan_impl(buffer, format, args);
9401
50.6k
    if (SCN_UNLIKELY(!result)) {
9402
49.7k
        return unexpected(result.error());
9403
49.7k
    }
9404
911
    return make_vscan_result_range(SCN_FWD(range), *result);
9405
50.6k
}
Unexecuted instantiation: _ZN3scn2v46detail13vscan_genericINS0_6ranges6detail9subrange_8subrangeINS1_17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEcEENS0_13scan_expectedINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESJ_NS1_22borrowed_tail_subrangeISF_Xsr6rangesE14borrowed_rangeISF_EEE4typeEE4typeEEEOSF_NSD_17basic_string_viewIT0_NSD_11char_traitsISS_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextINS1_16buffer_range_tagESS_EEEE
Unexecuted instantiation: _ZN3scn2v46detail13vscan_genericIRNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEcEENS0_13scan_expectedINS3_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESH_NS1_22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEEEOSD_NS3_17basic_string_viewIT0_NS5_ISQ_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextINS1_16buffer_range_tagESQ_EEEE
Unexecuted instantiation: _ZN3scn2v46detail13vscan_genericINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEcEENS0_13scan_expectedINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESH_NS1_22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEEEOSD_NSB_17basic_string_viewIT0_NSB_11char_traitsISQ_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextINS1_16buffer_range_tagESQ_EEEE
Unexecuted instantiation: _ZN3scn2v46detail13vscan_genericINS0_6ranges6detail9subrange_8subrangeINS1_17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEwEENS0_13scan_expectedINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESJ_NS1_22borrowed_tail_subrangeISF_Xsr6rangesE14borrowed_rangeISF_EEE4typeEE4typeEEEOSF_NSD_17basic_string_viewIT0_NSD_11char_traitsISS_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextINS1_16buffer_range_tagESS_EEEE
Unexecuted instantiation: _ZN3scn2v46detail13vscan_genericINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEwEENS0_13scan_expectedINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESH_NS1_22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEEEOSD_NSB_17basic_string_viewIT0_NSB_11char_traitsISQ_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextINS1_16buffer_range_tagESQ_EEEE
9406
9407
template <typename Locale, typename Range, typename CharT>
9408
auto vscan_localized_generic(
9409
    const Locale& loc,
9410
    Range&& range,
9411
    std::basic_string_view<CharT> format,
9412
    basic_scan_args<detail::default_context<CharT>> args) -> vscan_result<Range>
9413
75.9k
{
9414
75.9k
#if !SCN_DISABLE_LOCALE
9415
75.9k
    auto buffer = detail::make_scan_buffer(range);
9416
9417
75.9k
    SCN_CLANG_PUSH_IGNORE_UNDEFINED_TEMPLATE
9418
75.9k
    auto result = detail::vscan_localized_impl(loc, buffer, format, args);
9419
75.9k
    SCN_CLANG_POP_IGNORE_UNDEFINED_TEMPLATE
9420
9421
75.9k
    if (SCN_UNLIKELY(!result)) {
9422
73.9k
        return unexpected(result.error());
9423
73.9k
    }
9424
1.97k
    return detail::make_vscan_result_range(SCN_FWD(range), *result);
9425
#else
9426
    static_assert(dependent_false<Locale>::value,
9427
                  "Can't use scan(locale, ...) with SCN_DISABLE_LOCALE on");
9428
9429
    return {};
9430
#endif
9431
75.9k
}
_ZN3scn2v46detail23vscan_localized_genericINSt3__16localeERNS3_17basic_string_viewIcNS3_11char_traitsIcEEEEcEENS0_13scan_expectedINS3_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESG_NS1_22borrowed_tail_subrangeISC_Xsr6rangesE14borrowed_rangeISC_EEE4typeEE4typeEEERKT_OSC_NS5_IT1_NS6_ISR_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextINS1_16buffer_range_tagESR_EEEE
Line
Count
Source
9413
25.3k
{
9414
25.3k
#if !SCN_DISABLE_LOCALE
9415
25.3k
    auto buffer = detail::make_scan_buffer(range);
9416
9417
25.3k
    SCN_CLANG_PUSH_IGNORE_UNDEFINED_TEMPLATE
9418
25.3k
    auto result = detail::vscan_localized_impl(loc, buffer, format, args);
9419
25.3k
    SCN_CLANG_POP_IGNORE_UNDEFINED_TEMPLATE
9420
9421
25.3k
    if (SCN_UNLIKELY(!result)) {
9422
24.2k
        return unexpected(result.error());
9423
24.2k
    }
9424
1.05k
    return detail::make_vscan_result_range(SCN_FWD(range), *result);
9425
#else
9426
    static_assert(dependent_false<Locale>::value,
9427
                  "Can't use scan(locale, ...) with SCN_DISABLE_LOCALE on");
9428
9429
    return {};
9430
#endif
9431
25.3k
}
_ZN3scn2v46detail23vscan_localized_genericINSt3__16localeERNS3_17basic_string_viewIwNS3_11char_traitsIwEEEEwEENS0_13scan_expectedINS3_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESG_NS1_22borrowed_tail_subrangeISC_Xsr6rangesE14borrowed_rangeISC_EEE4typeEE4typeEEERKT_OSC_NS5_IT1_NS6_ISR_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextINS1_16buffer_range_tagESR_EEEE
Line
Count
Source
9413
50.6k
{
9414
50.6k
#if !SCN_DISABLE_LOCALE
9415
50.6k
    auto buffer = detail::make_scan_buffer(range);
9416
9417
50.6k
    SCN_CLANG_PUSH_IGNORE_UNDEFINED_TEMPLATE
9418
50.6k
    auto result = detail::vscan_localized_impl(loc, buffer, format, args);
9419
50.6k
    SCN_CLANG_POP_IGNORE_UNDEFINED_TEMPLATE
9420
9421
50.6k
    if (SCN_UNLIKELY(!result)) {
9422
49.7k
        return unexpected(result.error());
9423
49.7k
    }
9424
911
    return detail::make_vscan_result_range(SCN_FWD(range), *result);
9425
#else
9426
    static_assert(dependent_false<Locale>::value,
9427
                  "Can't use scan(locale, ...) with SCN_DISABLE_LOCALE on");
9428
9429
    return {};
9430
#endif
9431
50.6k
}
9432
9433
template <typename Range, typename CharT>
9434
auto vscan_value_generic(Range&& range,
9435
                         basic_scan_arg<detail::default_context<CharT>> arg)
9436
    -> vscan_result<Range>
9437
{
9438
    auto buffer = detail::make_scan_buffer(range);
9439
9440
    auto result = detail::vscan_value_impl(buffer, arg);
9441
    if (SCN_UNLIKELY(!result)) {
9442
        return unexpected(result.error());
9443
    }
9444
    return detail::make_vscan_result_range(SCN_FWD(range), *result);
9445
}
9446
}  // namespace detail
9447
9448
SCN_GCC_PUSH
9449
SCN_GCC_IGNORE("-Wnoexcept")
9450
9451
/**
9452
 * Perform actual scanning from `source`, according to `format`, into the
9453
 * type-erased arguments at `args`. Called by `scan`.
9454
 *
9455
 * \ingroup vscan
9456
 */
9457
template <typename Source>
9458
auto vscan(Source&& source, std::string_view format, scan_args args)
9459
    -> vscan_result<Source>
9460
25.3k
{
9461
25.3k
    return detail::vscan_generic(SCN_FWD(source), format, args);
9462
25.3k
}
_ZN3scn2v45vscanIRNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEEEENS0_13scan_expectedINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESE_NS0_6detail22borrowed_tail_subrangeISA_Xsr6rangesE14borrowed_rangeISA_EEE4typeEE4typeEEEOSA_S6_NS0_15basic_scan_argsINS0_18basic_scan_contextINSF_16buffer_range_tagEcEEEE
Line
Count
Source
9460
25.3k
{
9461
25.3k
    return detail::vscan_generic(SCN_FWD(source), format, args);
9462
25.3k
}
Unexecuted instantiation: _ZN3scn2v45vscanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS2_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESJ_NS6_22borrowed_tail_subrangeISF_Xsr6rangesE14borrowed_rangeISF_EEE4typeEE4typeEEEOSF_NSD_17basic_string_viewIcNSD_11char_traitsIcEEEENS0_15basic_scan_argsINS0_18basic_scan_contextINS6_16buffer_range_tagEcEEEE
Unexecuted instantiation: _ZN3scn2v45vscanIRNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEEENS0_13scan_expectedINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESG_NS0_6detail22borrowed_tail_subrangeISC_Xsr6rangesE14borrowed_rangeISC_EEE4typeEE4typeEEEOSC_NS2_17basic_string_viewIcS5_EENS0_15basic_scan_argsINS0_18basic_scan_contextINSH_16buffer_range_tagEcEEEE
Unexecuted instantiation: _ZN3scn2v45vscanINS0_6ranges6detail9subrange_8subrangeIPKcS7_EEEENS0_13scan_expectedINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESG_NS0_6detail22borrowed_tail_subrangeISC_Xsr6rangesE14borrowed_rangeISC_EEE4typeEE4typeEEEOSC_NSA_17basic_string_viewIcNSA_11char_traitsIcEEEENS0_15basic_scan_argsINS0_18basic_scan_contextINSH_16buffer_range_tagEcEEEE
9463
9464
/**
9465
 * Perform actual scanning from `source`, according to `format`, into the
9466
 * type-erased arguments at `args`, using `loc`, if requested. Called by
9467
 * `scan`.
9468
 *
9469
 * \ingroup locale
9470
 */
9471
template <typename Source,
9472
          typename Locale,
9473
          typename = std::void_t<decltype(Locale::classic())>>
9474
auto vscan(const Locale& loc,
9475
           Source&& source,
9476
           std::string_view format,
9477
           scan_args args) -> vscan_result<Source>
9478
25.3k
{
9479
25.3k
    return detail::vscan_localized_generic(loc, SCN_FWD(source), format, args);
9480
25.3k
}
9481
9482
/**
9483
 * Perform actual scanning from `source` into the type-erased argument at
9484
 * `arg`. Called by `scan_value`.
9485
 *
9486
 * \ingroup vscan
9487
 */
9488
template <typename Source>
9489
auto vscan_value(Source&& source, basic_scan_arg<scan_context> arg)
9490
    -> vscan_result<Source>
9491
{
9492
    return detail::vscan_value_generic(SCN_FWD(source), arg);
9493
}
9494
9495
/**
9496
 * Perform actual scanning from `stdin`, according to `format`, into the
9497
 * type-erased arguments at `args`. Called by `input`.
9498
 *
9499
 * \ingroup vscan
9500
 */
9501
scan_expected<void> vinput(std::string_view format, scan_args args);
9502
9503
namespace detail {
9504
template <typename T>
9505
auto scan_int_impl(std::string_view source, T& value, int base)
9506
    -> scan_expected<std::string_view::iterator>;
9507
9508
template <typename T>
9509
auto scan_int_exhaustive_valid_impl(std::string_view source) -> T;
9510
9511
#if !SCN_DISABLE_TYPE_SCHAR
9512
extern template auto scan_int_impl(std::string_view source,
9513
                                   signed char& value,
9514
                                   int base)
9515
    -> scan_expected<std::string_view::iterator>;
9516
extern template auto scan_int_exhaustive_valid_impl(std::string_view)
9517
    -> signed char;
9518
#endif
9519
#if !SCN_DISABLE_TYPE_SHORT
9520
extern template auto scan_int_impl(std::string_view source,
9521
                                   short& value,
9522
                                   int base)
9523
    -> scan_expected<std::string_view::iterator>;
9524
extern template auto scan_int_exhaustive_valid_impl(std::string_view) -> short;
9525
#endif
9526
#if !SCN_DISABLE_TYPE_INT
9527
extern template auto scan_int_impl(std::string_view source,
9528
                                   int& value,
9529
                                   int base)
9530
    -> scan_expected<std::string_view::iterator>;
9531
extern template auto scan_int_exhaustive_valid_impl(std::string_view) -> int;
9532
#endif
9533
#if !SCN_DISABLE_TYPE_LONG
9534
extern template auto scan_int_impl(std::string_view source,
9535
                                   long& value,
9536
                                   int base)
9537
    -> scan_expected<std::string_view::iterator>;
9538
extern template auto scan_int_exhaustive_valid_impl(std::string_view) -> long;
9539
#endif
9540
#if !SCN_DISABLE_TYPE_LONG_LONG
9541
extern template auto scan_int_impl(std::string_view source,
9542
                                   long long& value,
9543
                                   int base)
9544
    -> scan_expected<std::string_view::iterator>;
9545
extern template auto scan_int_exhaustive_valid_impl(std::string_view)
9546
    -> long long;
9547
#endif
9548
#if !SCN_DISABLE_TYPE_UCHAR
9549
extern template auto scan_int_impl(std::string_view source,
9550
                                   unsigned char& value,
9551
                                   int base)
9552
    -> scan_expected<std::string_view::iterator>;
9553
extern template auto scan_int_exhaustive_valid_impl(std::string_view)
9554
    -> unsigned char;
9555
#endif
9556
#if !SCN_DISABLE_TYPE_USHORT
9557
extern template auto scan_int_impl(std::string_view source,
9558
                                   unsigned short& value,
9559
                                   int base)
9560
    -> scan_expected<std::string_view::iterator>;
9561
extern template auto scan_int_exhaustive_valid_impl(std::string_view)
9562
    -> unsigned short;
9563
#endif
9564
#if !SCN_DISABLE_TYPE_UINT
9565
extern template auto scan_int_impl(std::string_view source,
9566
                                   unsigned int& value,
9567
                                   int base)
9568
    -> scan_expected<std::string_view::iterator>;
9569
extern template auto scan_int_exhaustive_valid_impl(std::string_view)
9570
    -> unsigned int;
9571
#endif
9572
#if !SCN_DISABLE_TYPE_ULONG
9573
extern template auto scan_int_impl(std::string_view source,
9574
                                   unsigned long& value,
9575
                                   int base)
9576
    -> scan_expected<std::string_view::iterator>;
9577
extern template auto scan_int_exhaustive_valid_impl(std::string_view)
9578
    -> unsigned long;
9579
#endif
9580
#if !SCN_DISABLE_TYPE_ULONG_LONG
9581
extern template auto scan_int_impl(std::string_view source,
9582
                                   unsigned long long& value,
9583
                                   int base)
9584
    -> scan_expected<std::string_view::iterator>;
9585
extern template auto scan_int_exhaustive_valid_impl(std::string_view)
9586
    -> unsigned long long;
9587
#endif
9588
9589
}  // namespace detail
9590
9591
SCN_GCC_POP  // -Wnoexcept
9592
9593
    // dummy namespace to reset formatting
9594
    namespace detail
9595
{
9596
}
9597
9598
/////////////////////////////////////////////////////////////////
9599
// scan
9600
/////////////////////////////////////////////////////////////////
9601
9602
/**
9603
 * The return type of `scan`, based on the type of the source, and the
9604
 * types of the scanned arguments.
9605
 */
9606
template <typename Source, typename... Args>
9607
using scan_result_type =
9608
    scan_expected<scan_result<detail::scan_result_value_type<Source>, Args...>>;
9609
9610
/**
9611
 * If `in` contains a successful result as returned from `vscan`,
9612
 * the range contained in `out` is set to `*in`.
9613
 * Otherwise, `unexpected(in.error())` is stored in `out`.
9614
 */
9615
template <typename Result,
9616
          typename Range,
9617
          std::enable_if_t<std::conjunction_v<
9618
              detail::is_specialization_of<Result, scan_result>,
9619
              std::is_same<typename Result::range_type, Range>>>* = nullptr>
9620
void fill_scan_result(scan_expected<Result>& out, scan_expected<Range>&& in)
9621
151k
{
9622
151k
    if (SCN_UNLIKELY(!in)) {
9623
147k
        out = unexpected(in.error());
9624
147k
    }
9625
3.94k
    else {
9626
3.94k
        out->set_range(SCN_MOVE(*in));
9627
3.94k
    }
9628
151k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJcEEES9_TnPNSt3__19enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSB_7is_sameINSF_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISF_EEONSR_ISL_EE
Line
Count
Source
9621
5.62k
{
9622
5.62k
    if (SCN_UNLIKELY(!in)) {
9623
5.36k
        out = unexpected(in.error());
9624
5.36k
    }
9625
264
    else {
9626
264
        out->set_range(SCN_MOVE(*in));
9627
264
    }
9628
5.62k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJiEEES9_TnPNSt3__19enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSB_7is_sameINSF_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISF_EEONSR_ISL_EE
Line
Count
Source
9621
5.62k
{
9622
5.62k
    if (SCN_UNLIKELY(!in)) {
9623
5.62k
        out = unexpected(in.error());
9624
5.62k
    }
9625
0
    else {
9626
0
        out->set_range(SCN_MOVE(*in));
9627
0
    }
9628
5.62k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJjEEES9_TnPNSt3__19enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSB_7is_sameINSF_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISF_EEONSR_ISL_EE
Line
Count
Source
9621
5.62k
{
9622
5.62k
    if (SCN_UNLIKELY(!in)) {
9623
5.62k
        out = unexpected(in.error());
9624
5.62k
    }
9625
0
    else {
9626
0
        out->set_range(SCN_MOVE(*in));
9627
0
    }
9628
5.62k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJdEEES9_TnPNSt3__19enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSB_7is_sameINSF_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISF_EEONSR_ISL_EE
Line
Count
Source
9621
5.62k
{
9622
5.62k
    if (SCN_UNLIKELY(!in)) {
9623
5.62k
        out = unexpected(in.error());
9624
5.62k
    }
9625
0
    else {
9626
0
        out->set_range(SCN_MOVE(*in));
9627
0
    }
9628
5.62k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJbEEES9_TnPNSt3__19enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSB_7is_sameINSF_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISF_EEONSR_ISL_EE
Line
Count
Source
9621
5.62k
{
9622
5.62k
    if (SCN_UNLIKELY(!in)) {
9623
5.62k
        out = unexpected(in.error());
9624
5.62k
    }
9625
0
    else {
9626
0
        out->set_range(SCN_MOVE(*in));
9627
0
    }
9628
5.62k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJPvEEES9_TnPNSt3__19enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSC_7is_sameINSG_10range_typeET0_EEEEvE4typeELSA_0EEEvRNS0_13scan_expectedISG_EEONSR_ISM_EE
Line
Count
Source
9621
5.62k
{
9622
5.62k
    if (SCN_UNLIKELY(!in)) {
9623
5.62k
        out = unexpected(in.error());
9624
5.62k
    }
9625
0
    else {
9626
0
        out->set_range(SCN_MOVE(*in));
9627
0
    }
9628
5.62k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJNSt3__112basic_stringIcNSA_11char_traitsIcEENSA_9allocatorIcEEEEEEES9_TnPNSA_9enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSA_7is_sameINSL_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISL_EEONSX_ISR_EE
Line
Count
Source
9621
5.62k
{
9622
5.62k
    if (SCN_UNLIKELY(!in)) {
9623
5.00k
        out = unexpected(in.error());
9624
5.00k
    }
9625
618
    else {
9626
618
        out->set_range(SCN_MOVE(*in));
9627
618
    }
9628
5.62k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJNSt3__112basic_stringIwNSA_11char_traitsIwEENSA_9allocatorIwEEEEEEES9_TnPNSA_9enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSA_7is_sameINSL_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISL_EEONSX_ISR_EE
Line
Count
Source
9621
5.62k
{
9622
5.62k
    if (SCN_UNLIKELY(!in)) {
9623
5.00k
        out = unexpected(in.error());
9624
5.00k
    }
9625
618
    else {
9626
618
        out->set_range(SCN_MOVE(*in));
9627
618
    }
9628
5.62k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJNSt3__117basic_string_viewIcNSA_11char_traitsIcEEEEEEES9_TnPNSA_9enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSA_7is_sameINSJ_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISJ_EEONSV_ISP_EE
Line
Count
Source
9621
5.62k
{
9622
5.62k
    if (SCN_UNLIKELY(!in)) {
9623
5.00k
        out = unexpected(in.error());
9624
5.00k
    }
9625
618
    else {
9626
618
        out->set_range(SCN_MOVE(*in));
9627
618
    }
9628
5.62k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJwEEES9_TnPNSt3__19enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSB_7is_sameINSF_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISF_EEONSR_ISL_EE
Line
Count
Source
9621
11.2k
{
9622
11.2k
    if (SCN_UNLIKELY(!in)) {
9623
11.0k
        out = unexpected(in.error());
9624
11.0k
    }
9625
230
    else {
9626
230
        out->set_range(SCN_MOVE(*in));
9627
230
    }
9628
11.2k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJiEEES9_TnPNSt3__19enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSB_7is_sameINSF_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISF_EEONSR_ISL_EE
Line
Count
Source
9621
11.2k
{
9622
11.2k
    if (SCN_UNLIKELY(!in)) {
9623
11.2k
        out = unexpected(in.error());
9624
11.2k
    }
9625
44
    else {
9626
44
        out->set_range(SCN_MOVE(*in));
9627
44
    }
9628
11.2k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJjEEES9_TnPNSt3__19enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSB_7is_sameINSF_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISF_EEONSR_ISL_EE
Line
Count
Source
9621
11.2k
{
9622
11.2k
    if (SCN_UNLIKELY(!in)) {
9623
11.2k
        out = unexpected(in.error());
9624
11.2k
    }
9625
44
    else {
9626
44
        out->set_range(SCN_MOVE(*in));
9627
44
    }
9628
11.2k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJdEEES9_TnPNSt3__19enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSB_7is_sameINSF_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISF_EEONSR_ISL_EE
Line
Count
Source
9621
11.2k
{
9622
11.2k
    if (SCN_UNLIKELY(!in)) {
9623
11.2k
        out = unexpected(in.error());
9624
11.2k
    }
9625
42
    else {
9626
42
        out->set_range(SCN_MOVE(*in));
9627
42
    }
9628
11.2k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJbEEES9_TnPNSt3__19enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSB_7is_sameINSF_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISF_EEONSR_ISL_EE
Line
Count
Source
9621
11.2k
{
9622
11.2k
    if (SCN_UNLIKELY(!in)) {
9623
11.2k
        out = unexpected(in.error());
9624
11.2k
    }
9625
44
    else {
9626
44
        out->set_range(SCN_MOVE(*in));
9627
44
    }
9628
11.2k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJPvEEES9_TnPNSt3__19enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSC_7is_sameINSG_10range_typeET0_EEEEvE4typeELSA_0EEEvRNS0_13scan_expectedISG_EEONSR_ISM_EE
Line
Count
Source
9621
11.2k
{
9622
11.2k
    if (SCN_UNLIKELY(!in)) {
9623
11.2k
        out = unexpected(in.error());
9624
11.2k
    }
9625
20
    else {
9626
20
        out->set_range(SCN_MOVE(*in));
9627
20
    }
9628
11.2k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJNSt3__112basic_stringIcNSA_11char_traitsIcEENSA_9allocatorIcEEEEEEES9_TnPNSA_9enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSA_7is_sameINSL_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISL_EEONSX_ISR_EE
Line
Count
Source
9621
11.2k
{
9622
11.2k
    if (SCN_UNLIKELY(!in)) {
9623
10.7k
        out = unexpected(in.error());
9624
10.7k
    }
9625
466
    else {
9626
466
        out->set_range(SCN_MOVE(*in));
9627
466
    }
9628
11.2k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJNSt3__112basic_stringIwNSA_11char_traitsIwEENSA_9allocatorIwEEEEEEES9_TnPNSA_9enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSA_7is_sameINSL_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISL_EEONSX_ISR_EE
Line
Count
Source
9621
11.2k
{
9622
11.2k
    if (SCN_UNLIKELY(!in)) {
9623
10.7k
        out = unexpected(in.error());
9624
10.7k
    }
9625
466
    else {
9626
466
        out->set_range(SCN_MOVE(*in));
9627
466
    }
9628
11.2k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJNSt3__117basic_string_viewIwNSA_11char_traitsIwEEEEEEES9_TnPNSA_9enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSA_7is_sameINSJ_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISJ_EEONSV_ISP_EE
Line
Count
Source
9621
11.2k
{
9622
11.2k
    if (SCN_UNLIKELY(!in)) {
9623
10.7k
        out = unexpected(in.error());
9624
10.7k
    }
9625
466
    else {
9626
466
        out->set_range(SCN_MOVE(*in));
9627
466
    }
9628
11.2k
}
Unexecuted instantiation: _ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEJNSt3__112basic_stringIcNSD_11char_traitsIcEENSD_9allocatorIcEEEEEEESC_TnPNSD_9enable_ifIXsr3stdE13conjunction_vINS7_25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSD_7is_sameINSN_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISN_EEONSZ_IST_EE
Unexecuted instantiation: _ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__111__wrap_iterIPcEESA_EEJdEEESB_TnPNS7_9enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENS7_7is_sameINSG_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISG_EEONSS_ISM_EE
Unexecuted instantiation: _ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEJNSt3__112basic_stringIcNSD_11char_traitsIcEENSD_9allocatorIcEEEEEEESC_TnPNSD_9enable_ifIXsr3stdE13conjunction_vINS7_25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSD_7is_sameINSN_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISN_EEONSZ_IST_EE
9629
9630
/**
9631
 * Returns an empty result type for a source of type `Source`, and arguments of
9632
 * type `Args...`.
9633
 */
9634
template <typename Source, typename... Args>
9635
auto make_scan_result()
9636
151k
{
9637
151k
    return scan_result_type<Source, Args...>();
9638
151k
}
auto scn::v4::make_scan_result<std::__1::basic_string_view<char, std::__1::char_traits<char> >&, char>()
Line
Count
Source
9636
5.62k
{
9637
5.62k
    return scan_result_type<Source, Args...>();
9638
5.62k
}
auto scn::v4::make_scan_result<std::__1::basic_string_view<char, std::__1::char_traits<char> >&, int>()
Line
Count
Source
9636
5.62k
{
9637
5.62k
    return scan_result_type<Source, Args...>();
9638
5.62k
}
auto scn::v4::make_scan_result<std::__1::basic_string_view<char, std::__1::char_traits<char> >&, unsigned int>()
Line
Count
Source
9636
5.62k
{
9637
5.62k
    return scan_result_type<Source, Args...>();
9638
5.62k
}
auto scn::v4::make_scan_result<std::__1::basic_string_view<char, std::__1::char_traits<char> >&, double>()
Line
Count
Source
9636
5.62k
{
9637
5.62k
    return scan_result_type<Source, Args...>();
9638
5.62k
}
auto scn::v4::make_scan_result<std::__1::basic_string_view<char, std::__1::char_traits<char> >&, bool>()
Line
Count
Source
9636
5.62k
{
9637
5.62k
    return scan_result_type<Source, Args...>();
9638
5.62k
}
auto scn::v4::make_scan_result<std::__1::basic_string_view<char, std::__1::char_traits<char> >&, void*>()
Line
Count
Source
9636
5.62k
{
9637
5.62k
    return scan_result_type<Source, Args...>();
9638
5.62k
}
auto scn::v4::make_scan_result<std::__1::basic_string_view<char, std::__1::char_traits<char> >&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
Line
Count
Source
9636
5.62k
{
9637
5.62k
    return scan_result_type<Source, Args...>();
9638
5.62k
}
auto scn::v4::make_scan_result<std::__1::basic_string_view<char, std::__1::char_traits<char> >&, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >()
Line
Count
Source
9636
5.62k
{
9637
5.62k
    return scan_result_type<Source, Args...>();
9638
5.62k
}
auto scn::v4::make_scan_result<std::__1::basic_string_view<char, std::__1::char_traits<char> >&, std::__1::basic_string_view<char, std::__1::char_traits<char> > >()
Line
Count
Source
9636
5.62k
{
9637
5.62k
    return scan_result_type<Source, Args...>();
9638
5.62k
}
auto scn::v4::make_scan_result<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, wchar_t>()
Line
Count
Source
9636
11.2k
{
9637
11.2k
    return scan_result_type<Source, Args...>();
9638
11.2k
}
auto scn::v4::make_scan_result<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, int>()
Line
Count
Source
9636
11.2k
{
9637
11.2k
    return scan_result_type<Source, Args...>();
9638
11.2k
}
auto scn::v4::make_scan_result<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, unsigned int>()
Line
Count
Source
9636
11.2k
{
9637
11.2k
    return scan_result_type<Source, Args...>();
9638
11.2k
}
auto scn::v4::make_scan_result<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, double>()
Line
Count
Source
9636
11.2k
{
9637
11.2k
    return scan_result_type<Source, Args...>();
9638
11.2k
}
auto scn::v4::make_scan_result<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, bool>()
Line
Count
Source
9636
11.2k
{
9637
11.2k
    return scan_result_type<Source, Args...>();
9638
11.2k
}
auto scn::v4::make_scan_result<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, void*>()
Line
Count
Source
9636
11.2k
{
9637
11.2k
    return scan_result_type<Source, Args...>();
9638
11.2k
}
auto scn::v4::make_scan_result<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
Line
Count
Source
9636
11.2k
{
9637
11.2k
    return scan_result_type<Source, Args...>();
9638
11.2k
}
auto scn::v4::make_scan_result<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >()
Line
Count
Source
9636
11.2k
{
9637
11.2k
    return scan_result_type<Source, Args...>();
9638
11.2k
}
auto scn::v4::make_scan_result<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >()
Line
Count
Source
9636
11.2k
{
9637
11.2k
    return scan_result_type<Source, Args...>();
9638
11.2k
}
Unexecuted instantiation: auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
Unexecuted instantiation: auto scn::v4::make_scan_result<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, double>()
Unexecuted instantiation: auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
Unexecuted instantiation: auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
Unexecuted instantiation: auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
9639
9640
template <typename Source, typename... Args>
9641
auto make_scan_result(std::tuple<Args...>&& initial_values)
9642
{
9643
    using type = scan_result_type<Source, Args...>;
9644
    using subrange_type = typename type::value_type::range_type;
9645
    return type{std::in_place, subrange_type{}, SCN_MOVE(initial_values)};
9646
}
9647
9648
/**
9649
 * \defgroup scan Basic scanning API
9650
 *
9651
 * \brief The core public-facing interface of the library
9652
 *
9653
 * The following functions use a format string syntax similar to that of
9654
 * `std::format`. See more at \ref format-string.
9655
 *
9656
 * When these functions take a `source` as input, it must
9657
 * model the `scannable_source` concept. See more at \ref scannable.
9658
 */
9659
9660
/**
9661
 * Scans `Args...` from `source`, according to the
9662
 * specifications given in the format string (`format`).
9663
 * Returns the resulting values in an object of type `scan_result`,
9664
 * alongside a `subrange` pointing to the unused input.
9665
 *
9666
 * Example:
9667
 * \code{.cpp}
9668
 * if (auto result = scn::scan<int>("123", "{}"))
9669
 *     int value = result->value();
9670
 * \endcode
9671
 *
9672
 * \ingroup scan
9673
 */
9674
template <typename... Args,
9675
          typename Source,
9676
          typename = std::enable_if_t<detail::is_file_or_narrow_range<Source>>>
9677
SCN_NODISCARD auto scan(Source&& source,
9678
                        scan_format_string<Source, Args...> format)
9679
    -> scan_result_type<Source, Args...>
9680
25.3k
{
9681
25.3k
    auto result = make_scan_result<Source, Args...>();
9682
25.3k
    fill_scan_result(result, vscan(SCN_FWD(source), format,
9683
25.3k
                                   make_scan_args(result->values())));
9684
25.3k
    return result;
9685
25.3k
}
_ZN3scn2v44scanIJcERNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEEvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESF_NS0_6detail22borrowed_tail_subrangeISB_Xsr6rangesE14borrowed_rangeISB_EEE4typeEE4typeEJDpT_EEEEEOSB_NS0_24basic_scan_format_stringIcNSG_13type_identityISB_E4typeEJDpNSS_ISM_E4typeEEEE
Line
Count
Source
9680
2.81k
{
9681
2.81k
    auto result = make_scan_result<Source, Args...>();
9682
2.81k
    fill_scan_result(result, vscan(SCN_FWD(source), format,
9683
2.81k
                                   make_scan_args(result->values())));
9684
2.81k
    return result;
9685
2.81k
}
_ZN3scn2v44scanIJiERNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEEvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESF_NS0_6detail22borrowed_tail_subrangeISB_Xsr6rangesE14borrowed_rangeISB_EEE4typeEE4typeEJDpT_EEEEEOSB_NS0_24basic_scan_format_stringIcNSG_13type_identityISB_E4typeEJDpNSS_ISM_E4typeEEEE
Line
Count
Source
9680
2.81k
{
9681
2.81k
    auto result = make_scan_result<Source, Args...>();
9682
2.81k
    fill_scan_result(result, vscan(SCN_FWD(source), format,
9683
2.81k
                                   make_scan_args(result->values())));
9684
2.81k
    return result;
9685
2.81k
}
_ZN3scn2v44scanIJjERNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEEvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESF_NS0_6detail22borrowed_tail_subrangeISB_Xsr6rangesE14borrowed_rangeISB_EEE4typeEE4typeEJDpT_EEEEEOSB_NS0_24basic_scan_format_stringIcNSG_13type_identityISB_E4typeEJDpNSS_ISM_E4typeEEEE
Line
Count
Source
9680
2.81k
{
9681
2.81k
    auto result = make_scan_result<Source, Args...>();
9682
2.81k
    fill_scan_result(result, vscan(SCN_FWD(source), format,
9683
2.81k
                                   make_scan_args(result->values())));
9684
2.81k
    return result;
9685
2.81k
}
_ZN3scn2v44scanIJdERNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEEvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESF_NS0_6detail22borrowed_tail_subrangeISB_Xsr6rangesE14borrowed_rangeISB_EEE4typeEE4typeEJDpT_EEEEEOSB_NS0_24basic_scan_format_stringIcNSG_13type_identityISB_E4typeEJDpNSS_ISM_E4typeEEEE
Line
Count
Source
9680
2.81k
{
9681
2.81k
    auto result = make_scan_result<Source, Args...>();
9682
2.81k
    fill_scan_result(result, vscan(SCN_FWD(source), format,
9683
2.81k
                                   make_scan_args(result->values())));
9684
2.81k
    return result;
9685
2.81k
}
_ZN3scn2v44scanIJbERNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEEvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESF_NS0_6detail22borrowed_tail_subrangeISB_Xsr6rangesE14borrowed_rangeISB_EEE4typeEE4typeEJDpT_EEEEEOSB_NS0_24basic_scan_format_stringIcNSG_13type_identityISB_E4typeEJDpNSS_ISM_E4typeEEEE
Line
Count
Source
9680
2.81k
{
9681
2.81k
    auto result = make_scan_result<Source, Args...>();
9682
2.81k
    fill_scan_result(result, vscan(SCN_FWD(source), format,
9683
2.81k
                                   make_scan_args(result->values())));
9684
2.81k
    return result;
9685
2.81k
}
_ZN3scn2v44scanIJPvERNSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEvEENS0_13scan_expectedINS0_11scan_resultINS3_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESG_NS0_6detail22borrowed_tail_subrangeISC_Xsr6rangesE14borrowed_rangeISC_EEE4typeEE4typeEJDpT_EEEEEOSC_NS0_24basic_scan_format_stringIcNSH_13type_identityISC_E4typeEJDpNST_ISN_E4typeEEEE
Line
Count
Source
9680
2.81k
{
9681
2.81k
    auto result = make_scan_result<Source, Args...>();
9682
2.81k
    fill_scan_result(result, vscan(SCN_FWD(source), format,
9683
2.81k
                                   make_scan_args(result->values())));
9684
2.81k
    return result;
9685
2.81k
}
_ZN3scn2v44scanIJNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEERNS2_17basic_string_viewIcS5_EEvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESJ_NS0_6detail22borrowed_tail_subrangeISF_Xsr6rangesE14borrowed_rangeISF_EEE4typeEE4typeEJDpT_EEEEEOSF_NS0_24basic_scan_format_stringIcNSK_13type_identityISF_E4typeEJDpNSW_ISQ_E4typeEEEE
Line
Count
Source
9680
2.81k
{
9681
2.81k
    auto result = make_scan_result<Source, Args...>();
9682
2.81k
    fill_scan_result(result, vscan(SCN_FWD(source), format,
9683
2.81k
                                   make_scan_args(result->values())));
9684
2.81k
    return result;
9685
2.81k
}
_ZN3scn2v44scanIJNSt3__112basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEEERNS2_17basic_string_viewIcNS4_IcEEEEvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESK_NS0_6detail22borrowed_tail_subrangeISG_Xsr6rangesE14borrowed_rangeISG_EEE4typeEE4typeEJDpT_EEEEEOSG_NS0_24basic_scan_format_stringIcNSL_13type_identityISG_E4typeEJDpNSX_ISR_E4typeEEEE
Line
Count
Source
9680
2.81k
{
9681
2.81k
    auto result = make_scan_result<Source, Args...>();
9682
2.81k
    fill_scan_result(result, vscan(SCN_FWD(source), format,
9683
2.81k
                                   make_scan_args(result->values())));
9684
2.81k
    return result;
9685
2.81k
}
_ZN3scn2v44scanIJNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEEERS6_vEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESF_NS0_6detail22borrowed_tail_subrangeISB_Xsr6rangesE14borrowed_rangeISB_EEE4typeEE4typeEJDpT_EEEEEOSB_NS0_24basic_scan_format_stringIcNSG_13type_identityISB_E4typeEJDpNSS_ISM_E4typeEEEE
Line
Count
Source
9680
2.81k
{
9681
2.81k
    auto result = make_scan_result<Source, Args...>();
9682
2.81k
    fill_scan_result(result, vscan(SCN_FWD(source), format,
9683
2.81k
                                   make_scan_args(result->values())));
9684
2.81k
    return result;
9685
2.81k
}
Unexecuted instantiation: _ZN3scn2v44scanIJNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESQ_NSD_22borrowed_tail_subrangeISM_Xsr6rangesE14borrowed_rangeISM_EEE4typeEE4typeEJDpT_EEEEEOSM_NS0_24basic_scan_format_stringIcNSD_13type_identityISM_E4typeEJDpNS12_ISW_E4typeEEEE
Unexecuted instantiation: _ZN3scn2v44scanIJdERNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJDpT_EEEEEOSD_NS0_24basic_scan_format_stringIcNSI_13type_identityISD_E4typeEJDpNSU_ISO_E4typeEEEE
Unexecuted instantiation: _ZN3scn2v44scanIJNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESN_NS0_6detail22borrowed_tail_subrangeISJ_Xsr6rangesE14borrowed_rangeISJ_EEE4typeEE4typeEJDpT_EEEEEOSJ_NS0_24basic_scan_format_stringIcNSO_13type_identityISJ_E4typeEJDpNS10_ISU_E4typeEEEE
9686
9687
/**
9688
 * `scan` with explicitly supplied default values
9689
 *
9690
 * Can be used, for example, for pre-allocating a scanned string:
9691
 *
9692
 * \code{.cpp}
9693
 * std::string str;
9694
 * str.reserve(64);
9695
 *
9696
 * // As long as the read string fits in `str`,
9697
 * // does not allocate
9698
 * auto result = scn::scan<std::string>(source, "{}",
9699
 *                                      {std::move(str)});
9700
 * // Access the read string with result->value()
9701
 * \endcode
9702
 *
9703
 * \ingroup scan
9704
 */
9705
template <typename... Args,
9706
          typename Source,
9707
          typename = std::enable_if_t<detail::is_file_or_narrow_range<Source>>>
9708
SCN_NODISCARD auto scan(Source&& source,
9709
                        scan_format_string<Source, Args...> format,
9710
                        std::tuple<Args...>&& initial_args)
9711
    -> scan_result_type<Source, Args...>
9712
{
9713
    auto result = make_scan_result<Source>(SCN_MOVE(initial_args));
9714
    fill_scan_result(result, vscan(SCN_FWD(source), format,
9715
                                   make_scan_args(result->values())));
9716
    return result;
9717
}
9718
9719
/**
9720
 * \defgroup locale Localization
9721
 *
9722
 * \brief Scanning APIs that allow passing in a locale
9723
 */
9724
9725
/**
9726
 * `scan` using an explicit locale.
9727
 *
9728
 * Has no effect on its own, locale-specific scanning still needs to be
9729
 * opted-into on an argument-by-argument basis, with the `L` format string
9730
 * specifier.
9731
 *
9732
 * \code{.cpp}
9733
 * auto result = scn::scan<double>(
9734
 *     std::locale{"fi_FI.UTF-8"}, "3,14, "{:L}");
9735
 * // result->value() == 3.14
9736
 * \endcode
9737
 *
9738
 * \ingroup locale
9739
 */
9740
template <typename... Args,
9741
          typename Locale,
9742
          typename Source,
9743
          typename = std::enable_if_t<detail::is_file_or_narrow_range<Source>>,
9744
          typename = std::void_t<decltype(Locale::classic())>>
9745
SCN_NODISCARD auto scan(const Locale& loc,
9746
                        Source&& source,
9747
                        scan_format_string<Source, Args...> format)
9748
    -> scan_result_type<Source, Args...>
9749
25.3k
{
9750
25.3k
    auto result = make_scan_result<Source, Args...>();
9751
25.3k
    fill_scan_result(result, vscan(loc, SCN_FWD(source), format,
9752
25.3k
                                   make_scan_args(result->values())));
9753
25.3k
    return result;
9754
25.3k
}
_ZN3scn2v44scanIJcENSt3__16localeERNS2_17basic_string_viewIcNS2_11char_traitsIcEEEEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESG_NS0_6detail22borrowed_tail_subrangeISC_Xsr6rangesE14borrowed_rangeISC_EEE4typeEE4typeEJDpT_EEEEERKT0_OSC_NS0_24basic_scan_format_stringIcNSH_13type_identityISC_E4typeEJDpNSW_ISN_E4typeEEEE
Line
Count
Source
9749
2.81k
{
9750
2.81k
    auto result = make_scan_result<Source, Args...>();
9751
2.81k
    fill_scan_result(result, vscan(loc, SCN_FWD(source), format,
9752
2.81k
                                   make_scan_args(result->values())));
9753
2.81k
    return result;
9754
2.81k
}
_ZN3scn2v44scanIJiENSt3__16localeERNS2_17basic_string_viewIcNS2_11char_traitsIcEEEEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESG_NS0_6detail22borrowed_tail_subrangeISC_Xsr6rangesE14borrowed_rangeISC_EEE4typeEE4typeEJDpT_EEEEERKT0_OSC_NS0_24basic_scan_format_stringIcNSH_13type_identityISC_E4typeEJDpNSW_ISN_E4typeEEEE
Line
Count
Source
9749
2.81k
{
9750
2.81k
    auto result = make_scan_result<Source, Args...>();
9751
2.81k
    fill_scan_result(result, vscan(loc, SCN_FWD(source), format,
9752
2.81k
                                   make_scan_args(result->values())));
9753
2.81k
    return result;
9754
2.81k
}
_ZN3scn2v44scanIJjENSt3__16localeERNS2_17basic_string_viewIcNS2_11char_traitsIcEEEEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESG_NS0_6detail22borrowed_tail_subrangeISC_Xsr6rangesE14borrowed_rangeISC_EEE4typeEE4typeEJDpT_EEEEERKT0_OSC_NS0_24basic_scan_format_stringIcNSH_13type_identityISC_E4typeEJDpNSW_ISN_E4typeEEEE
Line
Count
Source
9749
2.81k
{
9750
2.81k
    auto result = make_scan_result<Source, Args...>();
9751
2.81k
    fill_scan_result(result, vscan(loc, SCN_FWD(source), format,
9752
2.81k
                                   make_scan_args(result->values())));
9753
2.81k
    return result;
9754
2.81k
}
_ZN3scn2v44scanIJdENSt3__16localeERNS2_17basic_string_viewIcNS2_11char_traitsIcEEEEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESG_NS0_6detail22borrowed_tail_subrangeISC_Xsr6rangesE14borrowed_rangeISC_EEE4typeEE4typeEJDpT_EEEEERKT0_OSC_NS0_24basic_scan_format_stringIcNSH_13type_identityISC_E4typeEJDpNSW_ISN_E4typeEEEE
Line
Count
Source
9749
2.81k
{
9750
2.81k
    auto result = make_scan_result<Source, Args...>();
9751
2.81k
    fill_scan_result(result, vscan(loc, SCN_FWD(source), format,
9752
2.81k
                                   make_scan_args(result->values())));
9753
2.81k
    return result;
9754
2.81k
}
_ZN3scn2v44scanIJbENSt3__16localeERNS2_17basic_string_viewIcNS2_11char_traitsIcEEEEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESG_NS0_6detail22borrowed_tail_subrangeISC_Xsr6rangesE14borrowed_rangeISC_EEE4typeEE4typeEJDpT_EEEEERKT0_OSC_NS0_24basic_scan_format_stringIcNSH_13type_identityISC_E4typeEJDpNSW_ISN_E4typeEEEE
Line
Count
Source
9749
2.81k
{
9750
2.81k
    auto result = make_scan_result<Source, Args...>();
9751
2.81k
    fill_scan_result(result, vscan(loc, SCN_FWD(source), format,
9752
2.81k
                                   make_scan_args(result->values())));
9753
2.81k
    return result;
9754
2.81k
}
_ZN3scn2v44scanIJPvENSt3__16localeERNS3_17basic_string_viewIcNS3_11char_traitsIcEEEEvvEENS0_13scan_expectedINS0_11scan_resultINS3_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJDpT_EEEEERKT0_OSD_NS0_24basic_scan_format_stringIcNSI_13type_identityISD_E4typeEJDpNSX_ISO_E4typeEEEE
Line
Count
Source
9749
2.81k
{
9750
2.81k
    auto result = make_scan_result<Source, Args...>();
9751
2.81k
    fill_scan_result(result, vscan(loc, SCN_FWD(source), format,
9752
2.81k
                                   make_scan_args(result->values())));
9753
2.81k
    return result;
9754
2.81k
}
_ZN3scn2v44scanIJNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEENS2_6localeERNS2_17basic_string_viewIcS5_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESK_NS0_6detail22borrowed_tail_subrangeISG_Xsr6rangesE14borrowed_rangeISG_EEE4typeEE4typeEJDpT_EEEEERKT0_OSG_NS0_24basic_scan_format_stringIcNSL_13type_identityISG_E4typeEJDpNS10_ISR_E4typeEEEE
Line
Count
Source
9749
2.81k
{
9750
2.81k
    auto result = make_scan_result<Source, Args...>();
9751
2.81k
    fill_scan_result(result, vscan(loc, SCN_FWD(source), format,
9752
2.81k
                                   make_scan_args(result->values())));
9753
2.81k
    return result;
9754
2.81k
}
_ZN3scn2v44scanIJNSt3__112basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEEENS2_6localeERNS2_17basic_string_viewIcNS4_IcEEEEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESL_NS0_6detail22borrowed_tail_subrangeISH_Xsr6rangesE14borrowed_rangeISH_EEE4typeEE4typeEJDpT_EEEEERKT0_OSH_NS0_24basic_scan_format_stringIcNSM_13type_identityISH_E4typeEJDpNS11_ISS_E4typeEEEE
Line
Count
Source
9749
2.81k
{
9750
2.81k
    auto result = make_scan_result<Source, Args...>();
9751
2.81k
    fill_scan_result(result, vscan(loc, SCN_FWD(source), format,
9752
2.81k
                                   make_scan_args(result->values())));
9753
2.81k
    return result;
9754
2.81k
}
_ZN3scn2v44scanIJNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEEENS2_6localeERS6_vvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESG_NS0_6detail22borrowed_tail_subrangeISC_Xsr6rangesE14borrowed_rangeISC_EEE4typeEE4typeEJDpT_EEEEERKT0_OSC_NS0_24basic_scan_format_stringIcNSH_13type_identityISC_E4typeEJDpNSW_ISN_E4typeEEEE
Line
Count
Source
9749
2.81k
{
9750
2.81k
    auto result = make_scan_result<Source, Args...>();
9751
2.81k
    fill_scan_result(result, vscan(loc, SCN_FWD(source), format,
9752
2.81k
                                   make_scan_args(result->values())));
9753
2.81k
    return result;
9754
2.81k
}
9755
9756
/**
9757
 * `scan` with a locale and default values
9758
 *
9759
 * \ingroup locale
9760
 */
9761
template <typename... Args,
9762
          typename Locale,
9763
          typename Source,
9764
          typename = std::enable_if_t<detail::is_file_or_narrow_range<Source>>,
9765
          typename = std::void_t<decltype(Locale::classic())>>
9766
SCN_NODISCARD auto scan(const Locale& loc,
9767
                        Source&& source,
9768
                        scan_format_string<Source, Args...> format,
9769
                        std::tuple<Args...>&& initial_args)
9770
    -> scan_result_type<Source, Args...>
9771
{
9772
    auto result = make_scan_result<Source>(SCN_MOVE(initial_args));
9773
    fill_scan_result(result, vscan(loc, SCN_FWD(source), format,
9774
                                   make_scan_args(result->values())));
9775
    return result;
9776
}
9777
9778
/**
9779
 * `scan` a single value, with default options.
9780
 *
9781
 * Essentially equivalent to: `scn::scan<T>(source, "{}")`,
9782
 * except it can skip parsing the format string, gaining performance.
9783
 *
9784
 * \ingroup scan
9785
 */
9786
template <typename T,
9787
          typename Source,
9788
          typename = std::enable_if_t<detail::is_file_or_narrow_range<Source>>>
9789
SCN_NODISCARD auto scan_value(Source&& source) -> scan_result_type<Source, T>
9790
{
9791
    auto result = make_scan_result<Source, T>();
9792
    fill_scan_result(
9793
        result, vscan_value(SCN_FWD(source),
9794
                            detail::make_arg<scan_context>(result->value())));
9795
    return result;
9796
}
9797
9798
/**
9799
 * `scan` a single value, with default options, and a default value.
9800
 *
9801
 * \ingroup scan
9802
 */
9803
template <typename T,
9804
          typename Source,
9805
          std::enable_if_t<detail::is_file_or_narrow_range<Source>>* = nullptr>
9806
SCN_NODISCARD auto scan_value(Source&& source, T initial_value)
9807
    -> scan_result_type<Source, T>
9808
{
9809
    auto result =
9810
        make_scan_result<Source>(std::tuple<T>{SCN_MOVE(initial_value)});
9811
    fill_scan_result(
9812
        result, vscan_value(SCN_FWD(source),
9813
                            detail::make_arg<scan_context>(result->value())));
9814
    return result;
9815
}
9816
9817
/**
9818
 * Scan from `stdin`.
9819
 *
9820
 * Equivalent to `scn::scan<...>(stdin, ...)`.
9821
 *
9822
 * \code{.cpp}
9823
 * auto result = scn::input<int>("{}");
9824
 * \endcode
9825
 *
9826
 * \ingroup scan
9827
 */
9828
template <typename... Args>
9829
SCN_NODISCARD auto input(scan_format_string<std::FILE*, Args...> format)
9830
    -> scan_result_type<std::FILE*, Args...>
9831
{
9832
    auto result = scan_result_type<std::FILE*, Args...>(std::in_place, stdin,
9833
                                                        std::tuple<Args...>{});
9834
    auto err = vinput(format, make_scan_args(result->values()));
9835
    if (SCN_UNLIKELY(!err)) {
9836
        result = unexpected(err.error());
9837
    }
9838
    return result;
9839
}
9840
9841
/**
9842
 * Write msg to stdout, and call `input<Args...>(format)`
9843
 *
9844
 * \ingroup scan
9845
 */
9846
template <typename... Args>
9847
SCN_NODISCARD auto prompt(const char* msg,
9848
                          scan_format_string<std::FILE*, Args...> format)
9849
    -> scan_result_type<std::FILE*, Args...>
9850
{
9851
    std::printf("%s", msg);
9852
    std::fflush(stdout);
9853
    return input<Args...>(format);
9854
}
9855
9856
namespace detail {
9857
template <typename T>
9858
inline constexpr bool is_scan_int_type =
9859
    std::is_integral_v<T> && !std::is_same_v<T, char> &&
9860
    !std::is_same_v<T, wchar_t> && !std::is_same_v<T, char32_t> &&
9861
    !std::is_same_v<T, bool>;
9862
}
9863
9864
/**
9865
 * Fast integer reading.
9866
 *
9867
 * Quickly reads an integer from a `std::string_view`. Skips preceding
9868
 * whitespace.
9869
 *
9870
 * Reads in the specified base,
9871
 * allowing a base prefix. Set `base` to `0` to detect the base from the
9872
 * input. `base` must either be `0`, or in range `[2, 36]`.
9873
 *
9874
 * \ingroup scan
9875
 */
9876
template <typename T, std::enable_if_t<detail::is_scan_int_type<T>>* = nullptr>
9877
SCN_NODISCARD auto scan_int(std::string_view source, int base = 10)
9878
    -> scan_result_type<std::string_view, T>
9879
{
9880
    auto result = scan_result_type<std::string_view, T>();
9881
    if (auto r = detail::scan_int_impl(source, result->value(), base);
9882
        SCN_LIKELY(r)) {
9883
        result->set_range(ranges::subrange{*r, source.end()});
9884
    }
9885
    else {
9886
        result = unexpected(r.error());
9887
    }
9888
    return result;
9889
}
9890
9891
namespace detail {
9892
template <bool Val, typename T>
9893
inline constexpr bool dependent_bool = Val;
9894
}
9895
9896
/**
9897
 * Very fast integer reading.
9898
 *
9899
 * Quickly reads an integer from a `std::string_view`.
9900
 *
9901
 * Be very careful when using this one!
9902
 * Its speed comes from some very heavy assumptions about the validity of
9903
 * the input:
9904
 *  - `source` must not be empty.
9905
 *  - `source` contains nothing but the integer: no leading or trailing
9906
 *    whitespace, no extra junk. Leading `-` is allowed for signed types,
9907
 *    no `+` is allowed.
9908
 *  - The parsed value does not overflow.
9909
 *  - The input is a valid base-10 integer.
9910
 * Breaking these assumptions will lead to UB.
9911
 *
9912
 * \ingroup scan
9913
 */
9914
template <typename T, std::enable_if_t<detail::is_scan_int_type<T>>* = nullptr>
9915
SCN_NODISCARD auto scan_int_exhaustive_valid(std::string_view source) -> T
9916
{
9917
    static_assert(
9918
        detail::dependent_bool<!SCN_IS_BIG_ENDIAN, T>,
9919
        "scan_int_exhaustive_valid requires a little endian environment");
9920
    return detail::scan_int_exhaustive_valid_impl<T>(source);
9921
}
9922
9923
SCN_END_NAMESPACE
9924
}  // namespace scn